Exemple #1
0
    def setUp(self):
        if mc_client is None:
            raise SkipTest()

        self.client = BatchMemcachedClient(mc_client)

        self.key_prefix = ('%s|' % (time.time(),)).encode('ascii')
Exemple #2
0
class MemcachedClientTests(TestCase):
    def setUp(self):
        if mc_client is None:
            raise SkipTest()

        self.client = BatchMemcachedClient(mc_client)

        self.key_prefix = ('%s|' % (time.time(),)).encode('ascii')

    def test_multi_get(self):
        def set_thing(a, b):
            self.client.set(self.key_prefix + b'hi' + a, b, time=100)

        def get_thing(a):
            return self.client.get(self.key_prefix + b'hi' + a)

        def test():
            a, b = spawn(set_thing, b'a', 1), spawn(set_thing, b'b', 2)
            a.get(), b.get()
            a, b = spawn(get_thing, b'a'), spawn(get_thing, b'b')
            return a.get() + b.get()

        self.assertEquals(3, test())

    def test_multi_delete(self):
        def set_thing(a, b):
            self.client.set(self.key_prefix + b'hi' + a, b, time=100)

        def get_thing(a):
            return self.client.get(self.key_prefix + b'hi' + a)

        def delete_thing(a):
            self.client.delete(self.key_prefix + b'hi' + a)

        def test():
            a, b = spawn(set_thing, b'a', 1), spawn(set_thing, b'b', 2)
            a.get(), b.get()
            a, b = spawn(delete_thing, b'a'), spawn(delete_thing, b'b')
            a.get(), b.get()
            a, b = spawn(get_thing, b'a'), spawn(get_thing, b'b')
            return (a.get(), b.get())

        self.assertEquals((None, None), test())

    def test_other_methods(self):
        self.assertEquals(1, self.client.add(self.key_prefix + b'hello', 0))
        self.assertEquals(0, self.client.add(self.key_prefix + b'hello', 0))
        self.assertEquals([self.key_prefix + b'hello'],
                          self.client.add_multi({self.key_prefix + b'hello': 0}))
        self.assertEquals(1, self.client.incr(self.key_prefix + b'hello', 1))
        self.assertEquals(0, self.client.decr(self.key_prefix + b'hello', 1))

        self.client.incr_multi([self.key_prefix + b'hello'], delta=5)
        self.assertEquals(5, self.client.get(self.key_prefix + b'hello'))

        self.client.append(self.key_prefix + b'hello', b'0')
        self.assertEquals(50, self.client.get(self.key_prefix + b'hello'))

        self.client.prepend(self.key_prefix + b'hello', b'1')
        self.assertEquals(150, self.client.get(self.key_prefix + b'hello'))