def test_it(self):
        from zope.proxy import ProxyBase
        from zope.proxy import non_overridable

        class Proxy(ProxyBase):
            def who(self):
                raise AssertionError("Not called")

            @non_overridable
            def what(self):
                return 'PROXY'

        class Foo(object):
            def who(self):
                return 'FOO'

            def what(self):
                return 'FOO'

        p0 = ProxyBase(Foo())
        self.assertEqual(p0.who(), 'FOO')
        self.assertEqual(p0.what(), 'FOO')
        proxy = Proxy(Foo())
        self.assertEqual(proxy.who(), 'FOO')
        self.assertEqual(proxy.what(), 'PROXY')
Пример #2
0
 def __setattr__(self, name, value):
     if name in self.__slots__ + getattr(ProxyBase, '__slots__', ()):
         #('_wrapped', '__parent__', '__name__'):
         try:
             return object.__setattr__(self, name, value)
         except TypeError: #pragma NO COVER C Optimization
             return ProxyBase.__setattr__(self, name, value)
     return ProxyBase.__setattr__(self, name, value)
Пример #3
0
 def __setattr__(self, name, value):
     if name in self.__slots__ + getattr(ProxyBase, '__slots__', ()):
         #('_wrapped', '__parent__', '__name__'):
         try:
             return object.__setattr__(self, name, value)
         except TypeError:  #pragma NO COVER C Optimization
             return ProxyBase.__setattr__(self, name, value)
     return ProxyBase.__setattr__(self, name, value)
    def test_w_nested_proxies(self):
        from zope.proxy import ProxyBase

        class C(object):
            pass

        c = C()
        proxy = ProxyBase(c)
        proxy2 = ProxyBase(proxy)
        proxy3 = ProxyBase(proxy2)
        proxy4 = ProxyBase(proxy3)
        self.assertEqual(list(self._callFUT(proxy4)),
                         [proxy4, proxy3, proxy2, proxy, c])
Пример #5
0
    def __init__(self, opts, *args, **kwargs):
        """
        Initialize the connection pool.
        """
        self.opts = opts
        try:
            adbapi.ConnectionPool.__init__(self, *args, **kwargs)
        except dbapi2.DatabaseError as e:
            raise DatabaseAccessError(
                'Error initializing u1db connection pool: %s' % str(e))

        # all u1db connections, hashed by thread-id
        self._u1dbconnections = {}

        # The replica uid, primed by the connections on init.
        self.replica_uid = ProxyBase(None)

        try:
            conn = self.connectionFactory(
                self, init_u1db=True)
            replica_uid = conn._u1db._real_replica_uid
            setProxiedObject(self.replica_uid, replica_uid)
        except DatabaseAccessError as e:
            self.threadpool.stop()
            raise DatabaseAccessError(
                "Error initializing connection factory: %s" % str(e))
Пример #6
0
    def test_has_usable_external_object_proxied(self):

        obj = WithToExternalObject()
        proxied = ProxyBase(obj)

        self.assertTrue(_obj_has_usable_externalObject(proxied))
        self.assertEqual({'a': 42}, to_external_object(proxied))
    def test_w_simple_proxy(self):
        from zope.proxy import ProxyBase

        class C(object):
            pass

        c = C()
        proxy = ProxyBase(c)
        self.assertEqual(list(self._callFUT(proxy)), [proxy, c])
Пример #8
0
 def test_it(self):
     from zope.proxy import ProxyBase
     from zope.proxy import non_overridable
     class Proxy(ProxyBase):
         def who(self):
             return 'PROXY'
         @non_overridable
         def what(self):
             return 'PROXY'
     class Foo(object):
         def who(self):
             return 'FOO'
         def what(self):
             return 'FOO'
     p0 = ProxyBase(Foo())
     self.assertEqual(p0.who(), 'FOO')
     self.assertEqual(p0.what(), 'FOO')
     proxy = Proxy(Foo())
     self.assertEqual(proxy.who(), 'FOO')
     self.assertEqual(proxy.what(), 'PROXY')
Пример #9
0
    def test_serialize_on_adaptable(self):
        from jsonpublish.encoder import JSONEncoder
        encoder = JSONEncoder()
        from zope.proxy import ProxyBase
        from datetime import date
        o = date(1987, 5, 8)
        p = ProxyBase(o)

        def adapt_date(d):
            return d.strftime("%Y-%m-%d")

        encoder.adapters.register_adapter(date, adapt_date)
        self.assertEqual(encoder.encode(p), '"1987-05-08"')
Пример #10
0
    def __init__(self, *args, **kwargs):
        """
        Initialize the connection pool.
        """
        adbapi.ConnectionPool.__init__(self, *args, **kwargs)
        # all u1db connections, hashed by thread-id
        self._u1dbconnections = {}

        # The replica uid, primed by the connections on init.
        self.replica_uid = ProxyBase(None)

        conn = self.connectionFactory(self, init_u1db=True)
        replica_uid = conn._u1db._real_replica_uid
        setProxiedObject(self.replica_uid, replica_uid)
    def test___get___w_inst_w_proxy(self):
        from zope.interface import Interface
        from zope.interface import implementer
        from zope.interface import provider
        from zope.proxy import ProxyBase

        class IContextFactory(Interface):
            pass

        class IContext(Interface):
            pass

        @provider(IContextFactory)
        @implementer(IContext)
        class Context(object):
            pass

        context = Context()
        proxy = ProxyBase(context)
        dsd = self._makeOne()
        self.assertEqual(list(dsd.__get__(proxy, None)), [IContext])
Пример #12
0
    def __init__(self, *args, **kwargs):
        """
        Initialize the connection pool.
        """
        # extract soledad-specific objects from keyword arguments
        self.opts = kwargs.pop("opts")
        self._sync_enc_pool = kwargs.pop("sync_enc_pool")
        try:
            adbapi.ConnectionPool.__init__(self, *args, **kwargs)
        except DatabaseError:
            raise DatabaseAccessError('Could not open sqlcipher database')

        # all u1db connections, hashed by thread-id
        self._u1dbconnections = {}

        # The replica uid, primed by the connections on init.
        self.replica_uid = ProxyBase(None)

        conn = self.connectionFactory(self,
                                      self._sync_enc_pool,
                                      init_u1db=True)
        replica_uid = conn._u1db._real_replica_uid
        setProxiedObject(self.replica_uid, replica_uid)
Пример #13
0
 def __new__(self, ob, target):
     checker = getCheckerForInstancesOf(type(removeAllProxies(ob)))
     ob = ProxyBase.__new__(self, ob)
     ob.__Security_checker__ = checker
     return ob
Пример #14
0
 def test_serialize_proxy(self):
     from jsonpublish.encoder import JSONEncoder
     encoder = JSONEncoder()
     from zope.proxy import ProxyBase
     p = ProxyBase(1)
     self.assertEqual(encoder.encode(p), '1')
Пример #15
0
 def __init__(self, ob, target):
     ProxyBase.__init__(self, ob)
     self.__target__ = target
Пример #16
0
 def __new__(self, ob, title=None, description=None):
     checker = getCheckerForInstancesOf(type(removeAllProxies(ob)))
     ob = ProxyBase.__new__(self, ob)
     ob.__Security_checker__ = checker
     return ob
Пример #17
0
 def __init__(self, ob, title=None, description=None):
     ProxyBase.__init__(self, ob)
     self.title = title
     self.description = description
Пример #18
0
 def __init__(self, ob, title=None, description=None):
     ProxyBase.__init__(self, ob)
     self.title = title
     self.description = description
Пример #19
0
 def __init__(self, file, streamsize=1 << 16):
     ProxyBase.__init__(self, file)
     self.streamsize = streamsize
Пример #20
0
 def __init__(self, ob, short_name=None):
     ProxyBase.__init__(self, ob)
     self.short_name = short_name
Пример #21
0
 def __new__(self, ob, container=None, name=None):
     checker = getCheckerForInstancesOf(type(removeAllProxies(ob)))
     ob = ProxyBase.__new__(self, ob)
     ob.__Security_checker__ = checker
     return ob
Пример #22
0
 def __new__(self, ob, short_name=None):
     checker = getCheckerForInstancesOf(type(ob))
     ob = ProxyBase.__new__(self, ob)
     ob.__Security_checker__ = checker
     return ob
Пример #23
0
 def __init__(self, ob, target):
     ProxyBase.__init__(self, ob)
     self.__target__ = target
Пример #24
0
 def __new__(self, ob, target):
     checker = getCheckerForInstancesOf(type(removeAllProxies(ob)))
     ob = ProxyBase.__new__(self, ob)
     ob.__Security_checker__ = checker
     return ob
Пример #25
0
 def __getattribute__(self, name):
     if name in LocationProxy.__dict__:
         return object.__getattribute__(self, name)
     return ProxyBase.__getattribute__(self, name)
Пример #26
0
 def __init__(self, base, site_manager):
     ProxyBase.__init__(self, base)
     self.__site_manager = site_manager
Пример #27
0
 def __new__(cls, item, *args, **kwargs):
     return ProxyBase.__new__(cls, item)
Пример #28
0
 def __init__(self, ob, container=None, name=None):
     ProxyBase.__init__(self, ob)
     self.__parent__ = container
     self.__name__ = name
Пример #29
0
 def __new__(self, file, streamsize=1 << 16):
     return ProxyBase.__new__(self, file)
Пример #30
0
 def __init__(self, ob, short_name=None):
     ProxyBase.__init__(self, ob)
     self.short_name = short_name
Пример #31
0
 def __new__(cls, item, *args, **kwargs):
     return ProxyBase.__new__(cls, item)
Пример #32
0
 def __new__(self, ob, title=None, description=None):
     checker = getCheckerForInstancesOf(type(removeAllProxies(ob)))
     ob = ProxyBase.__new__(self, ob)
     ob.__Security_checker__ = checker
     return ob
Пример #33
0
 def __new__(cls, base, site_manager):
     return ProxyBase.__new__(cls, base)
 def _makeProxy(self, obj):
     from zope.proxy import ProxyBase
     return ProxyBase(obj)
Пример #35
0
 def __new__(self, ob, container=None, name=None):
     return ProxyBase.__new__(self, ob)
Пример #36
0
 def __new__(self, ob, container=None, name=None):
     return ProxyBase.__new__(self, ob)
Пример #37
0
 def __new__(self, ob, short_name=None):
     checker = getCheckerForInstancesOf(type(ob))
     ob = ProxyBase.__new__(self, ob)
     ob.__Security_checker__ = checker
     return ob
Пример #38
0
 def __init__(self, context):
     self.context = context
     ProxyBase.__init__(self, globalhelp)
Пример #39
0
 def __getattribute__(self, name):
     if name in LocationProxy.__dict__:
         return object.__getattribute__(self, name)
     return ProxyBase.__getattribute__(self, name)
Пример #40
0
 def __new__(self, ob, container=None, name=None):
     checker = getCheckerForInstancesOf(type(removeAllProxies(ob)))
     ob = ProxyBase.__new__(self, ob)
     ob.__Security_checker__ = checker
     return ob
Пример #41
0
 def __init__(self, ob, container=None, name=None):
     ProxyBase.__init__(self, ob)
     self.__parent__ = container
     self.__name__ = name
Пример #42
0
 def __new__(cls, tree, exclude=None, _view_root_location=None):
     return ProxyBase.__new__(cls, tree)