diff options
Diffstat (limited to 'tests/test_config')
| -rw-r--r-- | tests/test_config/test_actions.py | 11 | ||||
| -rw-r--r-- | tests/test_config/test_adapters.py | 24 | ||||
| -rw-r--r-- | tests/test_config/test_assets.py | 4 | ||||
| -rw-r--r-- | tests/test_config/test_init.py | 69 | ||||
| -rw-r--r-- | tests/test_config/test_predicates.py | 55 | ||||
| -rw-r--r-- | tests/test_config/test_routes.py | 12 | ||||
| -rw-r--r-- | tests/test_config/test_security.py | 31 | ||||
| -rw-r--r-- | tests/test_config/test_settings.py | 4 | ||||
| -rw-r--r-- | tests/test_config/test_testing.py | 2 | ||||
| -rw-r--r-- | tests/test_config/test_tweens.py | 5 | ||||
| -rw-r--r-- | tests/test_config/test_views.py | 460 |
11 files changed, 441 insertions, 236 deletions
diff --git a/tests/test_config/test_actions.py b/tests/test_config/test_actions.py index b1f4b4b99..ea6f6cf80 100644 --- a/tests/test_config/test_actions.py +++ b/tests/test_config/test_actions.py @@ -23,9 +23,12 @@ class ActionConfiguratorMixinTests(unittest.TestCase): exception_view=False, ): from zope.interface import Interface - from pyramid.interfaces import IView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IExceptionViewClassifier + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IView, + IViewClassifier, + ) if exception_view: # pragma: no cover classifier = IExceptionViewClassifier @@ -1041,12 +1044,14 @@ class TestActionInfo(unittest.TestCase): def test_class_conforms(self): from zope.interface.verify import verifyClass + from pyramid.interfaces import IActionInfo verifyClass(IActionInfo, self._getTargetClass()) def test_instance_conforms(self): from zope.interface.verify import verifyObject + from pyramid.interfaces import IActionInfo verifyObject(IActionInfo, self._makeOne('f', 0, 'f', 'f')) diff --git a/tests/test_config/test_adapters.py b/tests/test_config/test_adapters.py index 8c7f00751..22b60961a 100644 --- a/tests/test_config/test_adapters.py +++ b/tests/test_config/test_adapters.py @@ -11,8 +11,7 @@ class AdaptersConfiguratorMixinTests(unittest.TestCase): return config def test_add_subscriber_defaults(self): - from zope.interface import implementer - from zope.interface import Interface + from zope.interface import Interface, implementer class IEvent(Interface): pass @@ -36,8 +35,7 @@ class AdaptersConfiguratorMixinTests(unittest.TestCase): self.assertEqual(len(L), 2) def test_add_subscriber_iface_specified(self): - from zope.interface import implementer - from zope.interface import Interface + from zope.interface import Interface, implementer class IEvent(Interface): pass @@ -61,8 +59,8 @@ class AdaptersConfiguratorMixinTests(unittest.TestCase): self.assertEqual(len(L), 1) def test_add_subscriber_dottednames(self): - import tests.test_config from pyramid.interfaces import INewRequest + import tests.test_config config = self._makeOne(autocommit=True) config.add_subscriber( @@ -75,8 +73,7 @@ class AdaptersConfiguratorMixinTests(unittest.TestCase): self.assertEqual(handler.required, (INewRequest,)) def test_add_object_event_subscriber(self): - from zope.interface import implementer - from zope.interface import Interface + from zope.interface import Interface, implementer class IEvent(Interface): pass @@ -100,8 +97,7 @@ class AdaptersConfiguratorMixinTests(unittest.TestCase): self.assertEqual(len(L), 1) def test_add_subscriber_with_specific_type_and_predicates_True(self): - from zope.interface import implementer - from zope.interface import Interface + from zope.interface import Interface, implementer class IEvent(Interface): pass @@ -132,8 +128,7 @@ class AdaptersConfiguratorMixinTests(unittest.TestCase): self.assertEqual(len(L), 1) def test_add_subscriber_with_default_type_predicates_True(self): - from zope.interface import implementer - from zope.interface import Interface + from zope.interface import Interface, implementer class IEvent(Interface): pass @@ -164,8 +159,7 @@ class AdaptersConfiguratorMixinTests(unittest.TestCase): self.assertEqual(len(L), 1) def test_add_subscriber_with_specific_type_and_predicates_False(self): - from zope.interface import implementer - from zope.interface import Interface + from zope.interface import Interface, implementer class IEvent(Interface): pass @@ -193,8 +187,7 @@ class AdaptersConfiguratorMixinTests(unittest.TestCase): self.assertEqual(len(L), 0) def test_add_subscriber_with_default_type_predicates_False(self): - from zope.interface import implementer - from zope.interface import Interface + from zope.interface import Interface, implementer class IEvent(Interface): pass @@ -347,6 +340,7 @@ class AdaptersConfiguratorMixinTests(unittest.TestCase): def test_add_resource_url_nodefault_resource_iface(self): from zope.interface import Interface + from pyramid.interfaces import IResourceURL config = self._makeOne(autocommit=True) diff --git a/tests/test_config/test_assets.py b/tests/test_config/test_assets.py index 3cfea7fe4..1d2cfcd5c 100644 --- a/tests/test_config/test_assets.py +++ b/tests/test_config/test_assets.py @@ -536,24 +536,28 @@ class TestPackageOverrides(unittest.TestCase): def test_class_conforms_to_IPackageOverrides(self): from zope.interface.verify import verifyClass + from pyramid.interfaces import IPackageOverrides verifyClass(IPackageOverrides, self._getTargetClass()) def test_instance_conforms_to_IPackageOverrides(self): from zope.interface.verify import verifyObject + from pyramid.interfaces import IPackageOverrides verifyObject(IPackageOverrides, self._makeOne()) def test_class_conforms_to_IPEP302Loader(self): from zope.interface.verify import verifyClass + from pyramid.interfaces import IPEP302Loader verifyClass(IPEP302Loader, self._getTargetClass()) def test_instance_conforms_to_IPEP302Loader(self): from zope.interface.verify import verifyObject + from pyramid.interfaces import IPEP302Loader verifyObject(IPEP302Loader, self._makeOne()) diff --git a/tests/test_config/test_init.py b/tests/test_config/test_init.py index 5ca3063c5..0a9e2988c 100644 --- a/tests/test_config/test_init.py +++ b/tests/test_config/test_init.py @@ -31,9 +31,11 @@ class ConfiguratorTests(unittest.TestCase): name='', exception_view=False, ): - from pyramid.interfaces import IView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IExceptionViewClassifier + from pyramid.interfaces import ( + IExceptionViewClassifier, + IView, + IViewClassifier, + ) if exception_view: # pragma: no cover classifier = IExceptionViewClassifier @@ -66,9 +68,9 @@ class ConfiguratorTests(unittest.TestCase): def test_ctor_no_registry(self): import sys - from pyramid.interfaces import ISettings + from pyramid.config import Configurator - from pyramid.interfaces import IRendererFactory + from pyramid.interfaces import IRendererFactory, ISettings config = Configurator() this_pkg = sys.modules['tests.test_config'] @@ -177,6 +179,7 @@ class ConfiguratorTests(unittest.TestCase): def test_ctor_with_package_registry(self): import sys + from pyramid.config import Configurator pkg = sys.modules['pyramid'] @@ -297,8 +300,8 @@ class ConfiguratorTests(unittest.TestCase): ) def test_ctor_httpexception_view_default(self): - from pyramid.interfaces import IExceptionResponse from pyramid.httpexceptions import default_exceptionresponse_view + from pyramid.interfaces import IExceptionResponse config = self._makeOne() view = self._getViewCallable( @@ -428,8 +431,7 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(reg.events, (1,)) def test__fix_registry_queryAdapterOrSelf(self): - from zope.interface import Interface - from zope.interface import implementer + from zope.interface import Interface, implementer class IFoo(Interface): pass @@ -494,6 +496,7 @@ class ConfiguratorTests(unittest.TestCase): def test_setup_registry_registers_default_exceptionresponse_views(self): from webob.exc import WSGIHTTPException + from pyramid.interfaces import IExceptionResponse from pyramid.view import default_exceptionresponse_view @@ -533,6 +536,7 @@ class ConfiguratorTests(unittest.TestCase): def test_setup_registry_registers_default_webob_iresponse_adapter(self): from webob import Response + from pyramid.interfaces import IResponse config = self._makeOne() @@ -543,10 +547,11 @@ class ConfiguratorTests(unittest.TestCase): ) def test_setup_registry_explicit_notfound_trumps_iexceptionresponse(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy + from pyramid.httpexceptions import HTTPNotFound from pyramid.registry import Registry + from pyramid.renderers import null_renderer reg = Registry() config = self._makeOne(reg, autocommit=True) @@ -566,8 +571,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(result, 'OK') def test_setup_registry_custom_settings(self): - from pyramid.registry import Registry from pyramid.interfaces import ISettings + from pyramid.registry import Registry settings = {'reload_templates': True, 'mysetting': True} reg = Registry() @@ -579,8 +584,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(settings['mysetting'], True) def test_setup_registry_debug_logger_None_default(self): - from pyramid.registry import Registry from pyramid.interfaces import IDebugLogger + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -589,8 +594,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(logger.name, 'tests.test_config') def test_setup_registry_debug_logger_non_None(self): - from pyramid.registry import Registry from pyramid.interfaces import IDebugLogger + from pyramid.registry import Registry logger = object() reg = Registry() @@ -600,8 +605,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(logger, result) def test_setup_registry_debug_logger_name(self): - from pyramid.registry import Registry from pyramid.interfaces import IDebugLogger + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -610,8 +615,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(result.name, 'foo') def test_setup_registry_authentication_policy(self): - from pyramid.registry import Registry from pyramid.interfaces import IAuthenticationPolicy + from pyramid.registry import Registry policy = object() reg = Registry() @@ -622,8 +627,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(policy, result) def test_setup_registry_authentication_policy_dottedname(self): - from pyramid.registry import Registry from pyramid.interfaces import IAuthenticationPolicy + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -635,8 +640,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(result, tests.test_config) def test_setup_registry_authorization_policy_dottedname(self): - from pyramid.registry import Registry from pyramid.interfaces import IAuthorizationPolicy + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -661,8 +666,8 @@ class ConfiguratorTests(unittest.TestCase): config = self.assertRaises(ConfigurationExecutionError, config.commit) def test_setup_registry_no_default_root_factory(self): - from pyramid.registry import Registry from pyramid.interfaces import IRootFactory + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -671,8 +676,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(reg.queryUtility(IRootFactory), None) def test_setup_registry_dottedname_root_factory(self): - from pyramid.registry import Registry from pyramid.interfaces import IRootFactory + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -684,8 +689,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(reg.getUtility(IRootFactory), tests.test_config) def test_setup_registry_locale_negotiator_dottedname(self): - from pyramid.registry import Registry from pyramid.interfaces import ILocaleNegotiator + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -698,8 +703,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(utility, tests.test_config) def test_setup_registry_locale_negotiator(self): - from pyramid.registry import Registry from pyramid.interfaces import ILocaleNegotiator + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -711,8 +716,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(utility, negotiator) def test_setup_registry_request_factory(self): - from pyramid.registry import Registry from pyramid.interfaces import IRequestFactory + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -724,8 +729,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(utility, factory) def test_setup_registry_response_factory(self): - from pyramid.registry import Registry from pyramid.interfaces import IResponseFactory + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -737,8 +742,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(utility, factory) def test_setup_registry_request_factory_dottedname(self): - from pyramid.registry import Registry from pyramid.interfaces import IRequestFactory + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -751,8 +756,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(utility, tests.test_config) def test_setup_registry_alternate_renderers(self): - from pyramid.registry import Registry from pyramid.interfaces import IRendererFactory + from pyramid.registry import Registry renderer = object() reg = Registry() @@ -762,8 +767,8 @@ class ConfiguratorTests(unittest.TestCase): self.assertEqual(reg.getUtility(IRendererFactory, 'yeah'), renderer) def test_setup_registry_default_permission(self): - from pyramid.registry import Registry from pyramid.interfaces import IDefaultPermission + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -829,8 +834,8 @@ test_config.dummy_include2""" def test_make_wsgi_app(self): import pyramid.config - from pyramid.router import Router from pyramid.interfaces import IApplicationCreated + from pyramid.router import Router manager = DummyThreadLocalManager() config = self._makeOne() @@ -920,9 +925,10 @@ test_config.dummy_include2""" root_config.include(dummy_subapp, route_prefix='nested') def test_include_with_missing_source_file(self): - from pyramid.exceptions import ConfigurationError import inspect + from pyramid.exceptions import ConfigurationError + config = self._makeOne() class DummyInspect: @@ -973,8 +979,9 @@ test_config.dummy_include2""" def test_scan_integration(self): from zope.interface import alsoProvides + from pyramid.view import render_view_to_response - import tests.test_config.pkgs.scannable as package + from tests.test_config.pkgs import scannable as package config = self._makeOne(autocommit=True) config.scan(package) @@ -1079,8 +1086,9 @@ test_config.dummy_include2""" def test_scan_integration_with_ignore(self): from zope.interface import alsoProvides + from pyramid.view import render_view_to_response - import tests.test_config.pkgs.scannable as package + from tests.test_config.pkgs import scannable as package config = self._makeOne(autocommit=True) config.scan(package, ignore='tests.test_config.pkgs.scannable.another') @@ -1100,6 +1108,7 @@ test_config.dummy_include2""" def test_scan_integration_dottedname_package(self): from zope.interface import alsoProvides + from pyramid.view import render_view_to_response config = self._makeOne(autocommit=True) @@ -1143,8 +1152,8 @@ test_config.dummy_include2""" sys.path.remove(path) def test_scan_integration_conflict(self): - from tests.test_config.pkgs import selfscan from pyramid.config import Configurator + from tests.test_config.pkgs import selfscan c = Configurator() c.scan(selfscan) diff --git a/tests/test_config/test_predicates.py b/tests/test_config/test_predicates.py index 8017fc898..9d13d84fd 100644 --- a/tests/test_config/test_predicates.py +++ b/tests/test_config/test_predicates.py @@ -5,8 +5,8 @@ from pyramid.util import text_ class TestPredicateList(unittest.TestCase): def _makeOne(self): - from pyramid.config.predicates import PredicateList from pyramid import predicates + from pyramid.config.predicates import PredicateList inst = PredicateList() for name, factory in ( @@ -19,6 +19,7 @@ class TestPredicateList(unittest.TestCase): ('containment', predicates.ContainmentPredicate), ('request_type', predicates.RequestTypePredicate), ('match_param', predicates.MatchParamPredicate), + ('is_authenticated', predicates.IsAuthenticatedPredicate), ('custom', predicates.CustomPredicate), ('traverse', predicates.TraversePredicate), ): @@ -38,6 +39,19 @@ class TestPredicateList(unittest.TestCase): def test_ordering_number_of_predicates(self): from pyramid.config.predicates import predvalseq + order0, _, _ = self._callFUT( + xhr='xhr', + request_method='request_method', + path_info='path_info', + request_param='param', + match_param='foo=bar', + header='header', + accept='accept', + is_authenticated=True, + containment='containment', + request_type='request_type', + custom=predvalseq([DummyCustomPredicate()]), + ) order1, _, _ = self._callFUT( xhr='xhr', request_method='request_method', @@ -121,6 +135,7 @@ class TestPredicateList(unittest.TestCase): ) order11, _, _ = self._callFUT(xhr='xhr') order12, _, _ = self._callFUT() + self.assertTrue(order1 > order0) self.assertEqual(order1, order2) self.assertTrue(order3 > order2) self.assertTrue(order4 > order3) @@ -131,7 +146,7 @@ class TestPredicateList(unittest.TestCase): self.assertTrue(order9 > order8) self.assertTrue(order10 > order9) self.assertTrue(order11 > order10) - self.assertTrue(order12 > order10) + self.assertTrue(order12 > order11) def test_ordering_importance_of_predicates(self): from pyramid.config.predicates import predvalseq @@ -145,7 +160,8 @@ class TestPredicateList(unittest.TestCase): order7, _, _ = self._callFUT(containment='containment') order8, _, _ = self._callFUT(request_type='request_type') order9, _, _ = self._callFUT(match_param='foo=bar') - order10, _, _ = self._callFUT( + order10, _, _ = self._callFUT(is_authenticated=True) + order11, _, _ = self._callFUT( custom=predvalseq([DummyCustomPredicate()]) ) self.assertTrue(order1 > order2) @@ -157,6 +173,7 @@ class TestPredicateList(unittest.TestCase): self.assertTrue(order7 > order8) self.assertTrue(order8 > order9) self.assertTrue(order9 > order10) + self.assertTrue(order10 > order11) def test_ordering_importance_and_number(self): from pyramid.config.predicates import predvalseq @@ -296,6 +313,7 @@ class TestPredicateList(unittest.TestCase): ] ), match_param='foo=bar', + is_authenticated=False, ) self.assertEqual(predicates[0].text(), 'xhr = True') self.assertEqual( @@ -308,9 +326,10 @@ class TestPredicateList(unittest.TestCase): self.assertEqual(predicates[6].text(), 'containment = containment') self.assertEqual(predicates[7].text(), 'request_type = request_type') self.assertEqual(predicates[8].text(), "match_param foo=bar") - self.assertEqual(predicates[9].text(), 'custom predicate') - self.assertEqual(predicates[10].text(), 'classmethod predicate') - self.assertTrue(predicates[11].text().startswith('custom predicate')) + self.assertEqual(predicates[9].text(), "is_authenticated = False") + self.assertEqual(predicates[10].text(), 'custom predicate') + self.assertEqual(predicates[11].text(), 'classmethod predicate') + self.assertTrue(predicates[12].text().startswith('custom predicate')) def test_predicate_text_is_correct_when_multiple(self): _, predicates, _ = self._callFUT( @@ -434,6 +453,30 @@ class TestPredicateList(unittest.TestCase): request.headers = {'foo': 'nobar', 'spamme': 'ham'} self.assertFalse(predicates[0](Dummy(), request)) + def test_is_authenticated_true_matches(self): + _, predicates, _ = self._callFUT(is_authenticated=True) + request = DummyRequest() + request.is_authenticated = True + self.assertTrue(predicates[0](Dummy(), request)) + + def test_is_authenticated_true_fails(self): + _, predicates, _ = self._callFUT(is_authenticated=True) + request = DummyRequest() + request.is_authenticated = False + self.assertFalse(predicates[0](Dummy(), request)) + + def test_is_authenticated_false_matches(self): + _, predicates, _ = self._callFUT(is_authenticated=False) + request = DummyRequest() + request.is_authenticated = False + self.assertTrue(predicates[0](Dummy(), request)) + + def test_is_authenticated_false_fails(self): + _, predicates, _ = self._callFUT(is_authenticated=False) + request = DummyRequest() + request.is_authenticated = True + self.assertFalse(predicates[0](Dummy(), request)) + def test_unknown_predicate(self): from pyramid.exceptions import ConfigurationError diff --git a/tests/test_config/test_routes.py b/tests/test_config/test_routes.py index 8227784ec..605f61857 100644 --- a/tests/test_config/test_routes.py +++ b/tests/test_config/test_routes.py @@ -184,6 +184,18 @@ class RoutesConfiguratorMixinTests(unittest.TestCase): request.params = {} self.assertEqual(predicate(None, request), False) + def test_add_route_with_is_authenticated(self): + config = self._makeOne(autocommit=True) + config.add_route('name', 'path', is_authenticated=True) + route = self._assertRoute(config, 'name', 'path', 1) + predicate = route.predicates[0] + request = self._makeRequest(config) + request.is_authenticated = True + self.assertEqual(predicate(None, request), True) + request = self._makeRequest(config) + request.is_authenticated = False + self.assertEqual(predicate(None, request), False) + def test_add_route_with_custom_predicates(self): import warnings diff --git a/tests/test_config/test_security.py b/tests/test_config/test_security.py index 6c73ead1e..71142a8fa 100644 --- a/tests/test_config/test_security.py +++ b/tests/test_config/test_security.py @@ -20,8 +20,7 @@ class ConfiguratorSecurityMethodsTests(unittest.TestCase): self.assertEqual(config.registry.getUtility(ISecurityPolicy), policy) def test_set_authentication_policy_with_security_policy(self): - from pyramid.interfaces import IAuthorizationPolicy - from pyramid.interfaces import ISecurityPolicy + from pyramid.interfaces import IAuthorizationPolicy, ISecurityPolicy config = self._makeOne() security_policy = object() @@ -46,9 +45,11 @@ class ConfiguratorSecurityMethodsTests(unittest.TestCase): ) def test_set_authentication_policy_with_authz_policy(self): - from pyramid.interfaces import IAuthenticationPolicy - from pyramid.interfaces import IAuthorizationPolicy - from pyramid.interfaces import ISecurityPolicy + from pyramid.interfaces import ( + IAuthenticationPolicy, + IAuthorizationPolicy, + ISecurityPolicy, + ) from pyramid.security import LegacySecurityPolicy config = self._makeOne() @@ -65,9 +66,11 @@ class ConfiguratorSecurityMethodsTests(unittest.TestCase): ) def test_set_authentication_policy_with_authz_policy_autocommit(self): - from pyramid.interfaces import IAuthenticationPolicy - from pyramid.interfaces import IAuthorizationPolicy - from pyramid.interfaces import ISecurityPolicy + from pyramid.interfaces import ( + IAuthenticationPolicy, + IAuthorizationPolicy, + ISecurityPolicy, + ) from pyramid.security import LegacySecurityPolicy config = self._makeOne(autocommit=True) @@ -100,8 +103,10 @@ class ConfiguratorSecurityMethodsTests(unittest.TestCase): ) def test_set_authorization_policy_with_authn_policy(self): - from pyramid.interfaces import IAuthorizationPolicy - from pyramid.interfaces import IAuthenticationPolicy + from pyramid.interfaces import ( + IAuthenticationPolicy, + IAuthorizationPolicy, + ) config = self._makeOne() authn_policy = object() @@ -114,8 +119,10 @@ class ConfiguratorSecurityMethodsTests(unittest.TestCase): ) def test_set_authorization_policy_with_authn_policy_autocommit(self): - from pyramid.interfaces import IAuthorizationPolicy - from pyramid.interfaces import IAuthenticationPolicy + from pyramid.interfaces import ( + IAuthenticationPolicy, + IAuthorizationPolicy, + ) config = self._makeOne(autocommit=True) authn_policy = object() diff --git a/tests/test_config/test_settings.py b/tests/test_config/test_settings.py index 2fe769add..39a384b3d 100644 --- a/tests/test_config/test_settings.py +++ b/tests/test_config/test_settings.py @@ -50,8 +50,8 @@ class TestSettingsConfiguratorMixin(unittest.TestCase): self.assertEqual(settings['b'], 2) def test_add_settings_settings_not_yet_registered(self): - from pyramid.registry import Registry from pyramid.interfaces import ISettings + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) @@ -60,8 +60,8 @@ class TestSettingsConfiguratorMixin(unittest.TestCase): self.assertEqual(settings['a'], 1) def test_add_settings_settings_None(self): - from pyramid.registry import Registry from pyramid.interfaces import ISettings + from pyramid.registry import Registry reg = Registry() config = self._makeOne(reg) diff --git a/tests/test_config/test_testing.py b/tests/test_config/test_testing.py index e379e41bc..5cdd19b50 100644 --- a/tests/test_config/test_testing.py +++ b/tests/test_config/test_testing.py @@ -54,8 +54,8 @@ class TestingConfiguratorMixinTests(unittest.TestCase): self.assertEqual(val, True) def test_testing_resources(self): - from pyramid.traversal import find_resource from pyramid.interfaces import ITraverser + from pyramid.traversal import find_resource ob1 = object() ob2 = object() diff --git a/tests/test_config/test_tweens.py b/tests/test_config/test_tweens.py index b8cf15e12..19c938a0c 100644 --- a/tests/test_config/test_tweens.py +++ b/tests/test_config/test_tweens.py @@ -45,8 +45,7 @@ class TestTweensConfiguratorMixin(unittest.TestCase): def test_add_tweens_names_with_underover(self): from pyramid.interfaces import ITweens - from pyramid.tweens import excview_tween_factory - from pyramid.tweens import MAIN + from pyramid.tweens import MAIN, excview_tween_factory config = self._makeOne() config.add_tween('tests.test_config.dummy_tween_factory', over=MAIN) @@ -316,7 +315,7 @@ class TestTweens(unittest.TestCase): ) def test_implicit_ordering_5(self): - from pyramid.tweens import MAIN, INGRESS + from pyramid.tweens import INGRESS, MAIN tweens = self._makeOne() add = tweens.add_implicit diff --git a/tests/test_config/test_views.py b/tests/test_config/test_views.py index 2a55ad45d..65271f0d6 100644 --- a/tests/test_config/test_views.py +++ b/tests/test_config/test_views.py @@ -32,10 +32,13 @@ class TestViewsConfigurationMixin(unittest.TestCase): name='', ): from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IExceptionViewClassifier + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IRequest, + IView, + IViewClassifier, + ) if exc_iface: classifier = IExceptionViewClassifier @@ -113,9 +116,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): ) def test_add_view_with_request_type(self): - from pyramid.renderers import null_renderer from zope.interface import directlyProvides + from pyramid.interfaces import IRequest + from pyramid.renderers import null_renderer view = lambda *arg: 'OK' config = self._makeOne(autocommit=True) @@ -296,6 +300,7 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_view_with_http_cache(self): import datetime + from pyramid.response import Response response = Response('OK') @@ -415,9 +420,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(request.__view__.__class__, view) def test_add_view_context_as_class(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy + from pyramid.renderers import null_renderer + view = lambda *arg: 'OK' class Foo: @@ -464,9 +470,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_view_for_as_class(self): # ``for_`` is older spelling for ``context`` - from pyramid.renderers import null_renderer from zope.interface import implementedBy + from pyramid.renderers import null_renderer + view = lambda *arg: 'OK' class Foo: @@ -505,11 +512,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper, view) def test_add_view_register_secured_view(self): - from pyramid.renderers import null_renderer from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import ISecuredView - from pyramid.interfaces import IViewClassifier + + from pyramid.interfaces import IRequest, ISecuredView, IViewClassifier + from pyramid.renderers import null_renderer view = lambda *arg: 'OK' view.__call_permissive__ = view @@ -524,11 +530,14 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper, view) def test_add_view_exception_register_secured_view(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IExceptionViewClassifier + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IRequest, + IView, + ) + from pyramid.renderers import null_renderer view = lambda *arg: 'OK' view.__call_permissive__ = view @@ -545,13 +554,16 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper, view) def test_add_view_same_phash_overrides_existing_single_view(self): - from pyramid.renderers import null_renderer from hashlib import md5 from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IMultiView + + from pyramid.interfaces import ( + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer phash = md5() phash.update(b'xhr = True') @@ -573,13 +585,16 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK') def test_add_view_exc_same_phash_overrides_existing_single_view(self): - from pyramid.renderers import null_renderer from hashlib import md5 from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IExceptionViewClassifier - from pyramid.interfaces import IMultiView + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + IView, + ) + from pyramid.renderers import null_renderer phash = md5() phash.update(b'xhr = True') @@ -611,12 +626,15 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK') def test_add_view_default_phash_overrides_no_phash(self): - from pyramid.renderers import null_renderer from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IMultiView + + from pyramid.interfaces import ( + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer view = lambda *arg: 'NOT OK' config = self._makeOne(autocommit=True) @@ -635,12 +653,15 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK') def test_add_view_exc_default_phash_overrides_no_phash(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IExceptionViewClassifier - from pyramid.interfaces import IMultiView + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + IView, + ) + from pyramid.renderers import null_renderer view = lambda *arg: 'NOT OK' config = self._makeOne(autocommit=True) @@ -666,13 +687,16 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK') def test_add_view_default_phash_overrides_default_phash(self): + from zope.interface import Interface + from pyramid.config.predicates import DEFAULT_PHASH + from pyramid.interfaces import ( + IMultiView, + IRequest, + IView, + IViewClassifier, + ) from pyramid.renderers import null_renderer - from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IMultiView view = lambda *arg: 'NOT OK' view.__phash__ = DEFAULT_PHASH @@ -692,13 +716,16 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK') def test_add_view_exc_default_phash_overrides_default_phash(self): + from zope.interface import implementedBy + from pyramid.config.predicates import DEFAULT_PHASH + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + IView, + ) from pyramid.renderers import null_renderer - from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IExceptionViewClassifier - from pyramid.interfaces import IMultiView view = lambda *arg: 'NOT OK' view.__phash__ = DEFAULT_PHASH @@ -725,12 +752,15 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK') def test_add_view_multiview_replaces_existing_view(self): - from pyramid.renderers import null_renderer from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IMultiView + + from pyramid.interfaces import ( + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer view = lambda *arg: 'OK' view.__phash__ = 'abc' @@ -744,13 +774,16 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, None), 'OK') def test_add_view_exc_multiview_replaces_existing_view(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IExceptionViewClassifier - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IMultiView + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer view = lambda *arg: 'OK' view.__phash__ = 'abc' @@ -777,12 +810,15 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, None), 'OK') def test_add_view_multiview_replaces_existing_securedview(self): - from pyramid.renderers import null_renderer from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import ISecuredView - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier + + from pyramid.interfaces import ( + IMultiView, + IRequest, + ISecuredView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer view = lambda *arg: 'OK' view.__phash__ = 'abc' @@ -796,13 +832,16 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, None), 'OK') def test_add_view_exc_multiview_replaces_existing_securedview(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import ISecuredView - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IExceptionViewClassifier + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + ISecuredView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer view = lambda *arg: 'OK' view.__phash__ = 'abc' @@ -829,12 +868,15 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, None), 'OK') def test_add_view_with_accept_multiview_replaces_existing_view(self): - from pyramid.renderers import null_renderer from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier + + from pyramid.interfaces import ( + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer def view(context, request): return 'OK' @@ -905,13 +947,16 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK3') def test_add_view_exc_with_accept_multiview_replaces_existing_view(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IExceptionViewClassifier + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer def view(context, request): return 'OK' @@ -950,12 +995,15 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK2') def test_add_view_multiview_replaces_existing_view_with___accept__(self): - from pyramid.renderers import null_renderer from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier + + from pyramid.interfaces import ( + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer def view(context, request): return 'OK' @@ -980,13 +1028,16 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK') def test_add_view_exc_mulview_replaces_existing_view_with___accept__(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IExceptionViewClassifier + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer def view(context, request): return 'OK' @@ -1024,11 +1075,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, request), 'OK') def test_add_view_multiview_replaces_multiview(self): - from pyramid.renderers import null_renderer from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier + + from pyramid.interfaces import IMultiView, IRequest, IViewClassifier + from pyramid.renderers import null_renderer view = DummyMultiView() config = self._makeOne(autocommit=True) @@ -1045,12 +1095,15 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, None), 'OK1') def test_add_view_exc_multiview_replaces_multiviews(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IExceptionViewClassifier + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + IViewClassifier, + ) + from pyramid.renderers import null_renderer hot_view = DummyMultiView() exc_view = DummyMultiView() @@ -1090,12 +1143,15 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(exc_wrapper(None, None), 'OK1') def test_add_view_exc_multiview_replaces_only_exc_multiview(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IExceptionViewClassifier + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + IViewClassifier, + ) + from pyramid.renderers import null_renderer hot_view = DummyMultiView() exc_view = DummyMultiView() @@ -1136,12 +1192,15 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(exc_wrapper(None, None), 'OK1') def test_add_view_multiview_context_superclass_then_subclass(self): - from pyramid.renderers import null_renderer from zope.interface import Interface - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier + + from pyramid.interfaces import ( + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer class ISuper(Interface): pass @@ -1168,13 +1227,16 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper(None, None), 'OK2') def test_add_view_multiview_exception_superclass_then_subclass(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IMultiView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IExceptionViewClassifier + + from pyramid.interfaces import ( + IExceptionViewClassifier, + IMultiView, + IRequest, + IView, + IViewClassifier, + ) + from pyramid.renderers import null_renderer class Super(Exception): pass @@ -1212,9 +1274,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(wrapper_exc_view(None, None), 'OK2') def test_add_view_multiview_call_ordering(self): - from pyramid.renderers import null_renderer as nr from zope.interface import directlyProvides + from pyramid.renderers import null_renderer as nr + def view1(context, request): return 'view1' @@ -1423,9 +1486,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(response, 'hello') def test_add_view_multiview___discriminator__(self): - from pyramid.renderers import null_renderer from zope.interface import Interface + from pyramid.renderers import null_renderer + class IFoo(Interface): pass @@ -1443,10 +1507,12 @@ class TestViewsConfigurationMixin(unittest.TestCase): foo = Foo() bar = Bar() - from pyramid.interfaces import IRequest - from pyramid.interfaces import IView - from pyramid.interfaces import IViewClassifier - from pyramid.interfaces import IMultiView + from pyramid.interfaces import ( + IMultiView, + IRequest, + IView, + IViewClassifier, + ) view = lambda *arg: 'OK' view.__phash__ = 'abc' @@ -1465,8 +1531,8 @@ class TestViewsConfigurationMixin(unittest.TestCase): ) def test_add_view_with_template_renderer(self): - from tests import test_config from pyramid.interfaces import ISettings + from tests import test_config class view: def __init__(self, context, request): @@ -1519,8 +1585,8 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(result.body, b'moo') def test_add_view_with_template_renderer_no_callable(self): - from tests import test_config from pyramid.interfaces import ISettings + from tests import test_config config = self._makeOne(autocommit=True) renderer = self._registerRenderer(config) @@ -1540,9 +1606,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(result.settings, settings) def test_add_view_with_request_type_as_iface(self): - from pyramid.renderers import null_renderer from zope.interface import directlyProvides + from pyramid.renderers import null_renderer + def view(context, request): return 'OK' @@ -1583,9 +1650,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertRaises(ConfigurationExecutionError, config.commit) def test_add_view_with_route_name_exception(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy + from pyramid.renderers import null_renderer + view = lambda *arg: 'OK' config = self._makeOne(autocommit=True) config.add_route('foo', '/a/b') @@ -1742,6 +1810,46 @@ class TestViewsConfigurationMixin(unittest.TestCase): request.is_xhr = False self._assertNotFound(wrapper, None, request) + def test_add_view_with_is_authenticated_true_matches(self): + from pyramid.renderers import null_renderer as nr + + view = lambda *arg: 'OK' + config = self._makeOne(autocommit=True) + config.add_view(view=view, is_authenticated=True, renderer=nr) + wrapper = self._getViewCallable(config) + request = self._makeRequest(config) + request.is_authenticated = True + self.assertEqual(wrapper(None, request), 'OK') + + def test_add_view_with_is_authenticated_true_no_match(self): + view = lambda *arg: 'OK' + config = self._makeOne(autocommit=True) + config.add_view(view=view, is_authenticated=True) + wrapper = self._getViewCallable(config) + request = self._makeRequest(config) + request.is_authenticated = False + self._assertNotFound(wrapper, None, request) + + def test_add_view_with_is_authenticated_false_matches(self): + from pyramid.renderers import null_renderer as nr + + view = lambda *arg: 'OK' + config = self._makeOne(autocommit=True) + config.add_view(view=view, is_authenticated=False, renderer=nr) + wrapper = self._getViewCallable(config) + request = self._makeRequest(config) + request.is_authenticated = False + self.assertEqual(wrapper(None, request), 'OK') + + def test_add_view_with_is_authenticated_false_no_match(self): + view = lambda *arg: 'OK' + config = self._makeOne(autocommit=True) + config.add_view(view=view, is_authenticated=False) + wrapper = self._getViewCallable(config) + request = self._makeRequest(config) + request.is_authenticated = True + self._assertNotFound(wrapper, None, request) + def test_add_view_with_header_badregex(self): view = lambda *arg: 'OK' config = self._makeOne() @@ -1827,9 +1935,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): ) def test_add_view_with_containment_true(self): - from pyramid.renderers import null_renderer from zope.interface import directlyProvides + from pyramid.renderers import null_renderer + view = lambda *arg: 'OK' config = self._makeOne(autocommit=True) config.add_view(view=view, containment=IDummy, renderer=null_renderer) @@ -1847,9 +1956,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): self._assertNotFound(wrapper, context, None) def test_add_view_with_containment_dottedname(self): - from pyramid.renderers import null_renderer from zope.interface import directlyProvides + from pyramid.renderers import null_renderer + view = lambda *arg: 'OK' config = self._makeOne(autocommit=True) config.add_view( @@ -1890,6 +2000,7 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_view_with_custom_predicates_match(self): import warnings + from pyramid.renderers import null_renderer view = lambda *arg: 'OK' @@ -1935,6 +2046,7 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_view_custom_predicate_bests_standard_predicate(self): import warnings + from pyramid.renderers import null_renderer view = lambda *arg: 'OK' @@ -2118,10 +2230,11 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(Mapper.kw['mapper'], Mapper) def test_add_view_with_view_defaults(self): - from pyramid.renderers import null_renderer - from pyramid.exceptions import PredicateMismatch from zope.interface import directlyProvides + from pyramid.exceptions import PredicateMismatch + from pyramid.renderers import null_renderer + class view: __view_defaults__ = {'containment': 'tests.test_config.IDummy'} @@ -2143,10 +2256,11 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertRaises(PredicateMismatch, wrapper, context, request) def test_add_view_with_view_defaults_viewname_is_dottedname_kwarg(self): - from pyramid.renderers import null_renderer - from pyramid.exceptions import PredicateMismatch from zope.interface import directlyProvides + from pyramid.exceptions import PredicateMismatch + from pyramid.renderers import null_renderer + config = self._makeOne(autocommit=True) config.add_view( view='tests.test_config.test_views.DummyViewDefaultsClass', @@ -2162,10 +2276,11 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertRaises(PredicateMismatch, wrapper, context, request) def test_add_view_with_view_defaults_viewname_is_dottedname_nonkwarg(self): - from pyramid.renderers import null_renderer - from pyramid.exceptions import PredicateMismatch from zope.interface import directlyProvides + from pyramid.exceptions import PredicateMismatch + from pyramid.renderers import null_renderer + config = self._makeOne(autocommit=True) config.add_view( 'tests.test_config.test_views.DummyViewDefaultsClass', @@ -2209,8 +2324,8 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertRaises(ConfigurationConflictError, config.commit) def test_add_view_class_method_no_attr(self): - from pyramid.renderers import null_renderer from pyramid.exceptions import ConfigurationError + from pyramid.renderers import null_renderer config = self._makeOne(autocommit=True) @@ -2225,6 +2340,7 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_view_exception_only_no_regular_view(self): from zope.interface import implementedBy + from pyramid.renderers import null_renderer view1 = lambda *arg: 'OK' @@ -2242,6 +2358,7 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_view_exception_only(self): from zope.interface import implementedBy + from pyramid.renderers import null_renderer view1 = lambda *arg: 'OK' @@ -2274,6 +2391,7 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_exception_view(self): from zope.interface import implementedBy + from pyramid.renderers import null_renderer view1 = lambda *arg: 'OK' @@ -2288,6 +2406,7 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_exception_view_with_subclass(self): from zope.interface import implementedBy + from pyramid.renderers import null_renderer view1 = lambda *arg: 'OK' @@ -2348,10 +2467,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): ) def test_add_exception_view_with_view_defaults(self): - from pyramid.renderers import null_renderer + from zope.interface import directlyProvides, implementedBy + from pyramid.exceptions import PredicateMismatch - from zope.interface import directlyProvides - from zope.interface import implementedBy + from pyramid.renderers import null_renderer class view: __view_defaults__ = {'containment': 'tests.test_config.IDummy'} @@ -2442,10 +2561,10 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(result(None, request).body, b'foo') def test_add_static_view_here_no_utility_registered(self): - from pyramid.renderers import null_renderer from zope.interface import Interface - from pyramid.interfaces import IView - from pyramid.interfaces import IViewClassifier + + from pyramid.interfaces import IView, IViewClassifier + from pyramid.renderers import null_renderer config = self._makeOne(autocommit=True) config.add_static_view('static', 'files', renderer=null_renderer) @@ -2486,6 +2605,7 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_static_view_absolute(self): import os + from pyramid.interfaces import IStaticURLInfo info = DummyStaticURLInfo() @@ -2497,10 +2617,11 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(info.added, [(config, 'static', static_path, {})]) def test_add_forbidden_view(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest + from pyramid.httpexceptions import HTTPForbidden + from pyramid.interfaces import IRequest + from pyramid.renderers import null_renderer config = self._makeOne(autocommit=True) view = lambda *arg: 'OK' @@ -2516,8 +2637,9 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_forbidden_view_no_view_argument(self): from zope.interface import implementedBy - from pyramid.interfaces import IRequest + from pyramid.httpexceptions import HTTPForbidden + from pyramid.interfaces import IRequest config = self._makeOne(autocommit=True) config.setup_registry() @@ -2571,12 +2693,12 @@ class TestViewsConfigurationMixin(unittest.TestCase): ) def test_add_forbidden_view_with_view_defaults(self): - from pyramid.interfaces import IRequest - from pyramid.renderers import null_renderer + from zope.interface import directlyProvides, implementedBy + from pyramid.exceptions import PredicateMismatch from pyramid.httpexceptions import HTTPForbidden - from zope.interface import directlyProvides - from zope.interface import implementedBy + from pyramid.interfaces import IRequest + from pyramid.renderers import null_renderer class view: __view_defaults__ = {'containment': 'tests.test_config.IDummy'} @@ -2603,10 +2725,11 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertRaises(PredicateMismatch, wrapper, context, request) def test_add_notfound_view(self): - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest + from pyramid.httpexceptions import HTTPNotFound + from pyramid.interfaces import IRequest + from pyramid.renderers import null_renderer config = self._makeOne(autocommit=True) view = lambda *arg: arg @@ -2622,8 +2745,9 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_notfound_view_no_view_argument(self): from zope.interface import implementedBy - from pyramid.interfaces import IRequest + from pyramid.httpexceptions import HTTPNotFound + from pyramid.interfaces import IRequest config = self._makeOne(autocommit=True) config.setup_registry() @@ -2677,11 +2801,12 @@ class TestViewsConfigurationMixin(unittest.TestCase): ) def test_add_notfound_view_append_slash(self): - from pyramid.response import Response - from pyramid.renderers import null_renderer from zope.interface import implementedBy + + from pyramid.httpexceptions import HTTPNotFound, HTTPTemporaryRedirect from pyramid.interfaces import IRequest - from pyramid.httpexceptions import HTTPTemporaryRedirect, HTTPNotFound + from pyramid.renderers import null_renderer + from pyramid.response import Response config = self._makeOne(autocommit=True) config.add_route('foo', '/foo/') @@ -2706,11 +2831,12 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(result.location, '/scriptname/foo/?a=1&b=2') def test_add_notfound_view_append_slash_custom_response(self): - from pyramid.response import Response - from pyramid.renderers import null_renderer from zope.interface import implementedBy - from pyramid.interfaces import IRequest + from pyramid.httpexceptions import HTTPMovedPermanently, HTTPNotFound + from pyramid.interfaces import IRequest + from pyramid.renderers import null_renderer + from pyramid.response import Response config = self._makeOne(autocommit=True) config.add_route('foo', '/foo/') @@ -2735,12 +2861,12 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(result.location, '/scriptname/foo/?a=1&b=2') def test_add_notfound_view_with_view_defaults(self): - from pyramid.interfaces import IRequest - from pyramid.renderers import null_renderer + from zope.interface import directlyProvides, implementedBy + from pyramid.exceptions import PredicateMismatch from pyramid.httpexceptions import HTTPNotFound - from zope.interface import directlyProvides - from zope.interface import implementedBy + from pyramid.interfaces import IRequest + from pyramid.renderers import null_renderer class view: __view_defaults__ = {'containment': 'tests.test_config.IDummy'} @@ -2768,8 +2894,9 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_notfound_view_with_renderer(self): from zope.interface import implementedBy - from pyramid.interfaces import IRequest + from pyramid.httpexceptions import HTTPNotFound + from pyramid.interfaces import IRequest config = self._makeOne(autocommit=True) view = lambda *arg: {} @@ -2786,8 +2913,9 @@ class TestViewsConfigurationMixin(unittest.TestCase): def test_add_forbidden_view_with_renderer(self): from zope.interface import implementedBy - from pyramid.interfaces import IRequest + from pyramid.httpexceptions import HTTPForbidden + from pyramid.interfaces import IRequest config = self._makeOne(autocommit=True) view = lambda *arg: {} @@ -2822,8 +2950,8 @@ class TestViewsConfigurationMixin(unittest.TestCase): self.assertEqual(result, test_config) def test_add_normal_and_exception_view_intr_derived_callable(self): - from pyramid.renderers import null_renderer from pyramid.exceptions import BadCSRFToken + from pyramid.renderers import null_renderer config = self._makeOne(autocommit=True) introspector = DummyIntrospector() @@ -3074,12 +3202,14 @@ class TestMultiView(unittest.TestCase): def test_class_implements_ISecuredView(self): from zope.interface.verify import verifyClass + from pyramid.interfaces import ISecuredView verifyClass(ISecuredView, self._getTargetClass()) def test_instance_implements_ISecuredView(self): from zope.interface.verify import verifyObject + from pyramid.interfaces import ISecuredView verifyObject(ISecuredView, self._makeOne()) @@ -3732,15 +3862,17 @@ class TestStaticURLInfo(unittest.TestCase): return request def test_verifyClass(self): - from pyramid.interfaces import IStaticURLInfo from zope.interface.verify import verifyClass + from pyramid.interfaces import IStaticURLInfo + verifyClass(IStaticURLInfo, self._getTargetClass()) def test_verifyObject(self): - from pyramid.interfaces import IStaticURLInfo from zope.interface.verify import verifyObject + from pyramid.interfaces import IStaticURLInfo + verifyObject(IStaticURLInfo, self._makeOne()) def test_generate_missing(self): |
