1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
import unittest
from pyramid.tests.test_config import dummyfactory
class TestFactoriesMixin(unittest.TestCase):
def _makeOne(self, *arg, **kw):
from pyramid.config import Configurator
config = Configurator(*arg, **kw)
return config
def test_set_request_factory(self):
from pyramid.interfaces import IRequestFactory
config = self._makeOne(autocommit=True)
factory = object()
config.set_request_factory(factory)
self.assertEqual(config.registry.getUtility(IRequestFactory), factory)
def test_set_request_factory_dottedname(self):
from pyramid.interfaces import IRequestFactory
config = self._makeOne(autocommit=True)
config.set_request_factory(
'pyramid.tests.test_config.dummyfactory')
self.assertEqual(config.registry.getUtility(IRequestFactory),
dummyfactory)
def test_set_root_factory(self):
from pyramid.interfaces import IRootFactory
config = self._makeOne()
config.set_root_factory(dummyfactory)
self.assertEqual(config.registry.queryUtility(IRootFactory), None)
config.commit()
self.assertEqual(config.registry.getUtility(IRootFactory), dummyfactory)
def test_set_root_factory_as_None(self):
from pyramid.interfaces import IRootFactory
from pyramid.traversal import DefaultRootFactory
config = self._makeOne()
config.set_root_factory(None)
self.assertEqual(config.registry.queryUtility(IRootFactory), None)
config.commit()
self.assertEqual(config.registry.getUtility(IRootFactory),
DefaultRootFactory)
def test_set_root_factory_dottedname(self):
from pyramid.interfaces import IRootFactory
config = self._makeOne()
config.set_root_factory('pyramid.tests.test_config.dummyfactory')
self.assertEqual(config.registry.queryUtility(IRootFactory), None)
config.commit()
self.assertEqual(config.registry.getUtility(IRootFactory), dummyfactory)
def test_set_session_factory(self):
from pyramid.interfaces import ISessionFactory
config = self._makeOne()
config.set_session_factory(dummyfactory)
self.assertEqual(config.registry.queryUtility(ISessionFactory), None)
config.commit()
self.assertEqual(config.registry.getUtility(ISessionFactory),
dummyfactory)
def test_set_session_factory_dottedname(self):
from pyramid.interfaces import ISessionFactory
config = self._makeOne()
config.set_session_factory('pyramid.tests.test_config.dummyfactory')
self.assertEqual(config.registry.queryUtility(ISessionFactory), None)
config.commit()
self.assertEqual(config.registry.getUtility(ISessionFactory),
dummyfactory)
def test_add_request_method_with_callable(self):
from pyramid.interfaces import IRequestExtensions
config = self._makeOne(autocommit=True)
callable = lambda x: None
config.add_request_method(callable, name='foo')
exts = config.registry.getUtility(IRequestExtensions)
self.assertTrue('foo' in exts.methods)
def test_add_request_method_with_unnamed_callable(self):
from pyramid.interfaces import IRequestExtensions
config = self._makeOne(autocommit=True)
def foo(self): pass
config.add_request_method(foo)
exts = config.registry.getUtility(IRequestExtensions)
self.assertTrue('foo' in exts.methods)
def test_set_multiple_request_methods_conflict(self):
from pyramid.exceptions import ConfigurationConflictError
config = self._makeOne()
def foo(self): pass
def bar(self): pass
config.add_request_method(foo, name='bar')
config.add_request_method(bar, name='bar')
self.assertRaises(ConfigurationConflictError, config.commit)
def test_add_request_method_with_None_callable(self):
from pyramid.interfaces import IRequestExtensions
config = self._makeOne(autocommit=True)
config.add_request_method(name='foo')
exts = config.registry.queryUtility(IRequestExtensions)
self.assertTrue(exts is None)
def test_add_request_method_with_None_callable_conflict(self):
from pyramid.exceptions import ConfigurationConflictError
config = self._makeOne()
def bar(self): pass
config.add_request_method(name='foo')
config.add_request_method(bar, name='foo')
self.assertRaises(ConfigurationConflictError, config.commit)
def test_add_request_method_with_None_callable_and_no_name(self):
config = self._makeOne(autocommit=True)
self.assertRaises(AttributeError, config.add_request_method)
class TestDeprecatedFactoriesMixinMethods(unittest.TestCase):
def setUp(self):
from zope.deprecation import __show__
__show__.off()
def tearDown(self):
from zope.deprecation import __show__
__show__.on()
def _makeOne(self, *arg, **kw):
from pyramid.config import Configurator
config = Configurator(*arg, **kw)
return config
def test_set_request_property_with_callable(self):
from pyramid.interfaces import IRequestExtensions
config = self._makeOne(autocommit=True)
callable = lambda x: None
config.set_request_property(callable, name='foo')
exts = config.registry.getUtility(IRequestExtensions)
self.assertTrue('foo' in exts.descriptors)
def test_set_request_property_with_unnamed_callable(self):
from pyramid.interfaces import IRequestExtensions
config = self._makeOne(autocommit=True)
def foo(self): pass
config.set_request_property(foo, reify=True)
exts = config.registry.getUtility(IRequestExtensions)
self.assertTrue('foo' in exts.descriptors)
def test_set_request_property_with_property(self):
from pyramid.interfaces import IRequestExtensions
config = self._makeOne(autocommit=True)
callable = property(lambda x: None)
config.set_request_property(callable, name='foo')
exts = config.registry.getUtility(IRequestExtensions)
self.assertTrue('foo' in exts.descriptors)
def test_set_multiple_request_properties(self):
from pyramid.interfaces import IRequestExtensions
config = self._makeOne()
def foo(self): pass
bar = property(lambda x: None)
config.set_request_property(foo, reify=True)
config.set_request_property(bar, name='bar')
config.commit()
exts = config.registry.getUtility(IRequestExtensions)
self.assertTrue('foo' in exts.descriptors)
self.assertTrue('bar' in exts.descriptors)
def test_set_multiple_request_properties_conflict(self):
from pyramid.exceptions import ConfigurationConflictError
config = self._makeOne()
def foo(self): pass
bar = property(lambda x: None)
config.set_request_property(foo, name='bar', reify=True)
config.set_request_property(bar, name='bar')
self.assertRaises(ConfigurationConflictError, config.commit)
|