Metadata-Version: 1.1
Name: mockcache
Version: 1.0.2
Summary: The Python dictionary-based mock memcached client library.
Home-page: https://github.com/lunant/mockcache
Author: Hong Minhee <http://hongminhee.org/>
Author-email: dahlia@lunant.com
License: MIT License
Description: The Python dictionary-based mock memcached client library. It does not
        connect to any memcached server, but keeps a dictionary and stores every cache
        into there internally. It is a just emulated API of memcached client only for
        tests. It implements expiration also. NOT THREAD-SAFE.
        
            try:
                import memcache
            except ImportError:
                import warnings
                import mockcache as memcache
                warnings.warn("imported mockcache instead of memcache; cannot find "
                              "memcache module")
        
            mc = memcache.Client(["127.0.0.1:11211"])
        
        This module and other memcached client libraries have the same behavior.
        
            >>> from mockcache import Client
            >>> mc = Client()
            >>> mc
            <mockcache.Client {}>
            >>> mc.get("a")
            >>> mc.get("a") is None
            True
            >>> mc.set("a", "1234")
            1
            >>> mc.get("a")
            '1234'
            >>> mc
            <mockcache.Client {'a': ('1234', None)}>
            >>> mc.add("a", "1111")
            0
            >>> mc.get("a")
            '1234'
            >>> mc
            <mockcache.Client {'a': ('1234', None)}>
            >>> mc.replace("a", "2222")
            1
            >>> mc.get("a")
            '2222'
            >>> mc
            <mockcache.Client {'a': ('2222', None)}>
            >>> mc.append("a", "3")
            1
            >>> mc.get("a")
            '22223'
            >>> mc
            <mockcache.Client {'a': ('22223', None)}>
            >>> mc.prepend("a", "1")
            1
            >>> mc.get("a")
            '122223'
            >>> mc
            <mockcache.Client {'a': ('122223', None)}>
            >>> mc.incr("a")
            122224
            >>> mc.get("a")
            122224
            >>> mc
            <mockcache.Client {'a': (122224, None)}>
            >>> mc.incr("a", 10)
            122234
            >>> mc.get("a")
            122234
            >>> mc
            <mockcache.Client {'a': (122234, None)}>
            >>> mc.decr("a")
            122233
            >>> mc.get("a")
            122233
            >>> mc
            <mockcache.Client {'a': (122233, None)}>
            >>> mc.decr("a", 5)
            122228
            >>> mc.get("a")
            122228
            >>> mc
            <mockcache.Client {'a': (122228, None)}>
            >>> mc.replace("b", "value")
            0
            >>> mc.get("b")
            >>> mc.get("b") is None
            True
            >>> mc
            <mockcache.Client {'a': (122228, None)}>
            >>> mc.add("b", "value", 5)
            1
            >>> mc.get("b")
            'value'
            >>> mc  # doctest: +ELLIPSIS
            <mockcache.Client {'a': (122228, None), 'b': ('value', ...)}>
            >>> import time
            >>> time.sleep(6)
            >>> mc.get("b")
            >>> mc.get("b") is None
            True
            >>> mc
            <mockcache.Client {'a': (122228, None)}>
            >>> mc.set("c", "value")
            1
            >>> mc.get_multi(["a", "b", "c"])
            {'a': 122228, 'c': 'value'}
            >>> mc.delete("a")
            1
            >>> mc.get("a") is None
            True
            >>> mc.set("a b c", 123) #doctest: +IGNORE_EXCEPTION_DETAIL
            Traceback (most recent call last):
            MockcachedKeyCharacterError: Control characters not allowed
            >>> mc.set(None, 123) #doctest: +IGNORE_EXCEPTION_DETAIL
            Traceback (most recent call last):
            MockcachedKeyNoneError: Key is None
            >>> mc.set(123, 123) #doctest: +IGNORE_EXCEPTION_DETAIL
            Traceback (most recent call last):
            MockcachedKeyTypeError: Key must be str()'s
            >>> mc.set(u"a", 123) #doctest: +IGNORE_EXCEPTION_DETAIL
            Traceback (most recent call last):
            MockcachedStringEncodingError: Key must be str()'s, not unicode.
            >>> mc.set("a" * 251, 123) #doctest: +IGNORE_EXCEPTION_DETAIL
            Traceback (most recent call last):
            MockcachedKeyLengthError: Key length is > ...
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Libraries :: Python Modules
