diff options
| author | Sean Reifschneider <sean@realgo.com> | 2023-04-18 05:57:59 -0600 |
|---|---|---|
| committer | Sean Reifschneider <sean@realgo.com> | 2023-04-18 05:57:59 -0600 |
| commit | 3c8465f96df7823ccb8b5872871d21c41a024fc0 (patch) | |
| tree | d5a82c4bb197d4d8814b0b60c644550d00ffb815 /tests | |
| parent | 88b83c6f8bfe056735cf026ad869b933ff8fb892 (diff) | |
| download | python-memcached-3c8465f96df7823ccb8b5872871d21c41a024fc0.tar.gz | |
Allow keys to be encoded before use.
Ported patch in #52 from @harlowja to current branch. Added tests.
For the cases where the user wants to transparently
encode keys (say using urllib) before they are used
further allow a encoding function to be passed in that
will perform these types of activities (by default it
is the identity function).
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_memcache.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/test_memcache.py b/tests/test_memcache.py index 3593e03..2258d5a 100644 --- a/tests/test_memcache.py +++ b/tests/test_memcache.py @@ -252,5 +252,32 @@ class TestMemcache(unittest.TestCase): ) +class TestMemcacheEncoder(unittest.TestCase): + def setUp(self): + # TODO(): unix socket server stuff + servers = ["127.0.0.1:11211"] + self.mc = Client(servers, debug=1, key_encoder=self.encoder) + + def tearDown(self): + self.mc.flush_all() + self.mc.disconnect_all() + + def encoder(self, key): + return key.lower() + + def check_setget(self, key, val, noreply=False): + self.mc.set(key, val, noreply=noreply) + newval = self.mc.get(key) + self.assertEqual(newval, val) + + def test_setget(self): + self.check_setget("a_string", "some random string") + self.check_setget("A_String2", "some random string") + self.check_setget("an_integer", 42) + self.assertEqual("some random string", self.mc.get("A_String")) + self.assertEqual("some random string", self.mc.get("a_sTRing2")) + self.assertEqual(42, self.mc.get("An_Integer")) + + if __name__ == '__main__': unittest.main() |
