diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-11-25 16:36:29 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-11-25 16:36:29 +0000 |
| commit | 2aa86c1a5227a675d32c4ede06e0c031ae3edfad (patch) | |
| tree | 83423e9f192b41ac4c94b05ef8a37a23bf6df59c /repoze/bfg/tests | |
| parent | 6f01c68cf897ad5116c00c949b6e9ef96de1d658 (diff) | |
| download | pyramid-2aa86c1a5227a675d32c4ede06e0c031ae3edfad.tar.gz pyramid-2aa86c1a5227a675d32c4ede06e0c031ae3edfad.tar.bz2 pyramid-2aa86c1a5227a675d32c4ede06e0c031ae3edfad.zip | |
- Replace martian with something simpler.
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/grokkedapp/pod/notinit.py | 5 | ||||
| -rw-r--r-- | repoze/bfg/tests/grokkedapp/subpackage/__init__.py | 5 | ||||
| -rw-r--r-- | repoze/bfg/tests/grokkedapp/subpackage/notinit.py | 5 | ||||
| -rw-r--r-- | repoze/bfg/tests/grokkedapp/subpackage/subsubpackage/__init__.py | 5 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_configuration.py | 147 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_integration.py | 113 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_zcml.py | 22 |
7 files changed, 132 insertions, 170 deletions
diff --git a/repoze/bfg/tests/grokkedapp/pod/notinit.py b/repoze/bfg/tests/grokkedapp/pod/notinit.py new file mode 100644 index 000000000..ca0538123 --- /dev/null +++ b/repoze/bfg/tests/grokkedapp/pod/notinit.py @@ -0,0 +1,5 @@ +from repoze.bfg.view import bfg_view + +@bfg_view(name='pod_notinit') +def subpackage_notinit(context, request): + return 'pod_notinit' diff --git a/repoze/bfg/tests/grokkedapp/subpackage/__init__.py b/repoze/bfg/tests/grokkedapp/subpackage/__init__.py new file mode 100644 index 000000000..bdbe54e13 --- /dev/null +++ b/repoze/bfg/tests/grokkedapp/subpackage/__init__.py @@ -0,0 +1,5 @@ +from repoze.bfg.view import bfg_view + +@bfg_view(name='subpackage_init') +def subpackage_init(context, request): + return 'subpackage_init' diff --git a/repoze/bfg/tests/grokkedapp/subpackage/notinit.py b/repoze/bfg/tests/grokkedapp/subpackage/notinit.py new file mode 100644 index 000000000..84de6503d --- /dev/null +++ b/repoze/bfg/tests/grokkedapp/subpackage/notinit.py @@ -0,0 +1,5 @@ +from repoze.bfg.view import bfg_view + +@bfg_view(name='subpackage_notinit') +def subpackage_notinit(context, request): + return 'subpackage_notinit' diff --git a/repoze/bfg/tests/grokkedapp/subpackage/subsubpackage/__init__.py b/repoze/bfg/tests/grokkedapp/subpackage/subsubpackage/__init__.py new file mode 100644 index 000000000..a83be850b --- /dev/null +++ b/repoze/bfg/tests/grokkedapp/subpackage/subsubpackage/__init__.py @@ -0,0 +1,5 @@ +from repoze.bfg.view import bfg_view + +@bfg_view(name='subsubpackage_init') +def subpackage_init(context, request): + return 'subsubpackage_init' diff --git a/repoze/bfg/tests/test_configuration.py b/repoze/bfg/tests/test_configuration.py index a6c412c3f..f01087b5c 100644 --- a/repoze/bfg/tests/test_configuration.py +++ b/repoze/bfg/tests/test_configuration.py @@ -1541,7 +1541,105 @@ class ConfiguratorTests(unittest.TestCase): config.add_renderer('name', renderer) self.assertEqual(config.registry.getUtility(IRendererFactory, 'name'), renderer) + + def test_scan_integration(self): + from zope.interface import alsoProvides + from repoze.bfg.interfaces import IRequest + from repoze.bfg.view import render_view_to_response + import repoze.bfg.tests.grokkedapp as package + config = self._makeOne() + config.scan(package) + + ctx = DummyContext() + req = DummyRequest() + alsoProvides(req, IRequest) + req.registry = config.registry + + req.method = 'GET' + result = render_view_to_response(ctx, req, '') + self.assertEqual(result, 'grokked') + + req.method = 'POST' + result = render_view_to_response(ctx, req, '') + self.assertEqual(result, 'grokked_post') + + result= render_view_to_response(ctx, req, 'grokked_class') + self.assertEqual(result, 'grokked_class') + + result= render_view_to_response(ctx, req, 'grokked_instance') + self.assertEqual(result, 'grokked_instance') + + result= render_view_to_response(ctx, req, 'oldstyle_grokked_class') + self.assertEqual(result, 'oldstyle_grokked_class') + + req.method = 'GET' + result = render_view_to_response(ctx, req, 'another') + self.assertEqual(result, 'another_grokked') + + req.method = 'POST' + result = render_view_to_response(ctx, req, 'another') + self.assertEqual(result, 'another_grokked_post') + + result= render_view_to_response(ctx, req, 'another_grokked_class') + self.assertEqual(result, 'another_grokked_class') + + result= render_view_to_response(ctx, req, 'another_grokked_instance') + self.assertEqual(result, 'another_grokked_instance') + + result= render_view_to_response(ctx, req, + 'another_oldstyle_grokked_class') + self.assertEqual(result, 'another_oldstyle_grokked_class') + + result = render_view_to_response(ctx, req, 'stacked1') + self.assertEqual(result, 'stacked') + + result = render_view_to_response(ctx, req, 'stacked2') + self.assertEqual(result, 'stacked') + + result = render_view_to_response(ctx, req, 'another_stacked1') + self.assertEqual(result, 'another_stacked') + + result = render_view_to_response(ctx, req, 'another_stacked2') + self.assertEqual(result, 'another_stacked') + + result = render_view_to_response(ctx, req, 'stacked_class1') + self.assertEqual(result, 'stacked_class') + + result = render_view_to_response(ctx, req, 'stacked_class2') + self.assertEqual(result, 'stacked_class') + + result = render_view_to_response(ctx, req, 'another_stacked_class1') + self.assertEqual(result, 'another_stacked_class') + + result = render_view_to_response(ctx, req, 'another_stacked_class2') + self.assertEqual(result, 'another_stacked_class') + + self.assertRaises(TypeError, + render_view_to_response, ctx, req, 'basemethod') + + result = render_view_to_response(ctx, req, 'method1') + self.assertEqual(result, 'method1') + + result = render_view_to_response(ctx, req, 'method2') + self.assertEqual(result, 'method2') + + result = render_view_to_response(ctx, req, 'stacked_method1') + self.assertEqual(result, 'stacked_method') + + result = render_view_to_response(ctx, req, 'stacked_method2') + self.assertEqual(result, 'stacked_method') + result = render_view_to_response(ctx, req, 'subpackage_init') + self.assertEqual(result, 'subpackage_init') + + result = render_view_to_response(ctx, req, 'subpackage_notinit') + self.assertEqual(result, 'subpackage_notinit') + + result = render_view_to_response(ctx, req, 'subsubpackage_init') + self.assertEqual(result, 'subsubpackage_init') + + result = render_view_to_response(ctx, req, 'pod_notinit') + self.assertEqual(result, None) class Test__map_view(unittest.TestCase): def setUp(self): @@ -1857,55 +1955,6 @@ class Test__map_view(unittest.TestCase): request = self._makeRequest() self.assertEqual(result(None, request).body, 'Hello!') -class TestBFGViewGrokker(unittest.TestCase): - def setUp(self): - testing.setUp() - - def tearDown(self): - testing.tearDown() - - def _getTargetClass(self): - from repoze.bfg.configuration import BFGViewGrokker - return BFGViewGrokker - - def _makeOne(self, *arg, **kw): - return self._getTargetClass()(*arg, **kw) - - def test_grok_is_bfg_view(self): - from repoze.bfg.threadlocal import get_current_registry - from repoze.bfg.interfaces import IRequest - from repoze.bfg.interfaces import IView - from zope.interface import Interface - from repoze.bfg.configuration import Configurator - grokker = self._makeOne() - class obj: - def __init__(self, context, request): - pass - def __call__(self): - return 'OK' - settings = dict(permission='foo', for_=Interface, name='foo.html', - request_type=IRequest, route_name=None, - request_method=None, request_param=None, - containment=None, attr=None, renderer=None, - wrapper=None, xhr=False, header=None, - accept=None) - obj.__bfg_view_settings__ = [settings] - reg = get_current_registry() - config = Configurator(reg) - result = grokker.grok('name', obj, _info='', _configurator=config) - self.assertEqual(result, True) - wrapped = reg.adapters.lookup((Interface, IRequest), IView, - name='foo.html') - self.assertEqual(wrapped(None, None), 'OK') - - def test_grok_is_not_bfg_view(self): - grokker = self._makeOne() - class obj: - pass - context = DummyContext() - result = grokker.grok('name', obj) - self.assertEqual(result, False) - class Test_rendered_response(unittest.TestCase): def setUp(self): testing.setUp() diff --git a/repoze/bfg/tests/test_integration.py b/repoze/bfg/tests/test_integration.py index 48a089f6f..2e3abe259 100644 --- a/repoze/bfg/tests/test_integration.py +++ b/repoze/bfg/tests/test_integration.py @@ -19,12 +19,6 @@ def wsgiapptest(environ, start_response): return '123' class WGSIAppPlusBFGViewTests(unittest.TestCase): - def setUp(self): - cleanUp() - - def tearDown(self): - cleanUp() - def test_it(self): import types self.failUnless(wsgiapptest.__bfg_view_settings__) @@ -35,16 +29,13 @@ class WGSIAppPlusBFGViewTests(unittest.TestCase): self.assertEqual(result, '123') def test_scanned(self): - from repoze.bfg.threadlocal import get_current_registry from repoze.bfg.interfaces import IRequest from repoze.bfg.interfaces import IView - from repoze.bfg.zcml import scan - context = DummyZCMLContext() + from repoze.bfg.configuration import Configurator from repoze.bfg.tests import test_integration - scan(context, test_integration) - actions = context.actions - context.actions[-1]['callable']() - reg = get_current_registry() + config = Configurator() + config.scan(test_integration) + reg = config.registry view = reg.adapters.lookup((INothing, IRequest), IView, name='') self.assertEqual(view, wsgiapptest) @@ -88,102 +79,6 @@ class TestFixtureApp(unittest.TestCase): xmlconfig.include(context, 'configure.zcml', package) context.execute_actions(clear=False) -class TestGrokkedApp(unittest.TestCase): - def setUp(self): - cleanUp() - - def tearDown(self): - cleanUp() - - def test_it(self): - from repoze.bfg.threadlocal import get_current_request - from repoze.bfg.view import render_view_to_response - from repoze.bfg.zcml import zcml_configure - import repoze.bfg.tests.grokkedapp as package - - actions = zcml_configure('configure.zcml', package) - actions.sort() - scan_action = actions[0][1] - scan_action() - - ctx = DummyContext() - req = DummyRequest() - req = get_current_request() - - req.method = 'GET' - result = render_view_to_response(ctx, req, '') - self.assertEqual(result, 'grokked') - - req.method = 'POST' - result = render_view_to_response(ctx, req, '') - self.assertEqual(result, 'grokked_post') - - result= render_view_to_response(ctx, req, 'grokked_class') - self.assertEqual(result, 'grokked_class') - - result= render_view_to_response(ctx, req, 'grokked_instance') - self.assertEqual(result, 'grokked_instance') - - result= render_view_to_response(ctx, req, 'oldstyle_grokked_class') - self.assertEqual(result, 'oldstyle_grokked_class') - - req.method = 'GET' - result = render_view_to_response(ctx, req, 'another') - self.assertEqual(result, 'another_grokked') - - req.method = 'POST' - result = render_view_to_response(ctx, req, 'another') - self.assertEqual(result, 'another_grokked_post') - - result= render_view_to_response(ctx, req, 'another_grokked_class') - self.assertEqual(result, 'another_grokked_class') - - result= render_view_to_response(ctx, req, 'another_grokked_instance') - self.assertEqual(result, 'another_grokked_instance') - - result= render_view_to_response(ctx, req, - 'another_oldstyle_grokked_class') - self.assertEqual(result, 'another_oldstyle_grokked_class') - - result = render_view_to_response(ctx, req, 'stacked1') - self.assertEqual(result, 'stacked') - - result = render_view_to_response(ctx, req, 'stacked2') - self.assertEqual(result, 'stacked') - - result = render_view_to_response(ctx, req, 'another_stacked1') - self.assertEqual(result, 'another_stacked') - - result = render_view_to_response(ctx, req, 'another_stacked2') - self.assertEqual(result, 'another_stacked') - - result = render_view_to_response(ctx, req, 'stacked_class1') - self.assertEqual(result, 'stacked_class') - - result = render_view_to_response(ctx, req, 'stacked_class2') - self.assertEqual(result, 'stacked_class') - - result = render_view_to_response(ctx, req, 'another_stacked_class1') - self.assertEqual(result, 'another_stacked_class') - - result = render_view_to_response(ctx, req, 'another_stacked_class2') - self.assertEqual(result, 'another_stacked_class') - - self.assertRaises(TypeError, - render_view_to_response, ctx, req, 'basemethod') - - result = render_view_to_response(ctx, req, 'method1') - self.assertEqual(result, 'method1') - - result = render_view_to_response(ctx, req, 'method2') - self.assertEqual(result, 'method2') - - result = render_view_to_response(ctx, req, 'stacked_method1') - self.assertEqual(result, 'stacked_method') - - result = render_view_to_response(ctx, req, 'stacked_method2') - self.assertEqual(result, 'stacked_method') - class DummyContext(object): pass diff --git a/repoze/bfg/tests/test_zcml.py b/repoze/bfg/tests/test_zcml.py index b9e70c0bd..34250bdde 100644 --- a/repoze/bfg/tests/test_zcml.py +++ b/repoze/bfg/tests/test_zcml.py @@ -601,23 +601,21 @@ class TestZCMLScanDirective(unittest.TestCase): def tearDown(self): testing.tearDown() - def _callFUT(self, context, package, martian): + def _callFUT(self, context, package): from repoze.bfg.zcml import scan - return scan(context, package, martian) + return scan(context, package) def test_it(self): - from repoze.bfg.configuration import BFGMultiGrokker - martian = DummyMartianModule() - module_grokker = DummyModuleGrokker() + from repoze.bfg.configuration import Configurator dummy_module = DummyModule() context = DummyContext() - self._callFUT(context, dummy_module, martian) - context.actions[-1]['callable']() - self.assertEqual(martian.name, 'dummy') - multi_grokker = martian.module_grokker.multi_grokker - self.assertEqual(multi_grokker.__class__, BFGMultiGrokker) - self.assertEqual(martian.info, context.info) - self.failUnless(martian.exclude_filter) + self._callFUT(context, dummy_module) + actions = context.actions + self.assertEqual(len(actions), 1) + action = actions[0] + self.assertEqual(action['callable'].im_func, Configurator.scan.im_func) + self.assertEqual(action['discriminator'], None) + self.assertEqual(action['args'], (dummy_module, None)) class DummyModule: __path__ = "foo" |
