@@ -260,100 +260,3 @@ def test_store_none():
260
260
assert 'current value is: 10' in res .text
261
261
res = app .get ('/' )
262
262
assert 'current value is: None' in res .text
263
-
264
- class TestPylibmcInit (unittest .TestCase ):
265
- def setUp (self ):
266
-
267
- from beaker .ext import memcached
268
- try :
269
- import pylibmc as memcache
270
- except :
271
- import memcache
272
- memcached ._client_libs ['pylibmc' ] = memcached .pylibmc = memcache
273
- from contextlib import contextmanager
274
- class ThreadMappedPool (dict ):
275
- "a mock of pylibmc's ThreadMappedPool"
276
-
277
- def __init__ (self , master ):
278
- self .master = master
279
-
280
- @contextmanager
281
- def reserve (self ):
282
- yield self .master
283
- memcache .ThreadMappedPool = ThreadMappedPool
284
-
285
- def test_uses_pylibmc_client (self ):
286
- from beaker .ext import memcached
287
- cache = Cache ('test' , data_dir = './cache' ,
288
- memcache_module = 'pylibmc' ,
289
- url = mc_url , type = "ext:memcached" )
290
- assert isinstance (cache .namespace , memcached .PyLibMCNamespaceManager )
291
-
292
- def test_dont_use_pylibmc_client (self ):
293
- from beaker .ext .memcached import _load_client
294
- load_mock = unittest .mock .Mock ()
295
- load_mock .return_value = _load_client ('memcache' )
296
- with unittest .mock .patch ('beaker.ext.memcached._load_client' , load_mock ):
297
- cache = Cache ('test' , data_dir = './cache' , url = mc_url , type = "ext:memcached" )
298
- assert not isinstance (cache .namespace , memcached .PyLibMCNamespaceManager )
299
- assert isinstance (cache .namespace , memcached .MemcachedNamespaceManager )
300
-
301
- def test_client (self ):
302
- cache = Cache ('test' , data_dir = './cache' , url = mc_url , type = "ext:memcached" ,
303
- protocol = 'binary' )
304
- o = object ()
305
- cache .set_value ("test" , o )
306
- assert cache .has_key ("test" )
307
- assert "test" in cache
308
- assert not cache .has_key ("foo" )
309
- assert "foo" not in cache
310
- cache .remove_value ("test" )
311
- assert not cache .has_key ("test" )
312
-
313
- def test_client_behaviors (self ):
314
- config = {
315
- 'cache.lock_dir' :'./lock' ,
316
- 'cache.data_dir' :'./cache' ,
317
- 'cache.type' :'ext:memcached' ,
318
- 'cache.url' :mc_url ,
319
- 'cache.memcache_module' :'pylibmc' ,
320
- 'cache.protocol' :'binary' ,
321
- 'cache.behavior.ketama' : 'True' ,
322
- 'cache.behavior.cas' :False ,
323
- 'cache.behavior.receive_timeout' :'3600' ,
324
- 'cache.behavior.send_timeout' :1800 ,
325
- 'cache.behavior.tcp_nodelay' :1 ,
326
- 'cache.behavior.auto_eject' :"0"
327
- }
328
- cache_manager = CacheManager (** parse_cache_config_options (config ))
329
- cache = cache_manager .get_cache ('test_behavior' , expire = 6000 )
330
-
331
- with cache .namespace .pool .reserve () as mc :
332
- assert "ketama" in mc .behaviors
333
- assert mc .behaviors ["ketama" ] == 1
334
- assert "cas" in mc .behaviors
335
- assert mc .behaviors ["cas" ] == 0
336
- assert "receive_timeout" in mc .behaviors
337
- assert mc .behaviors ["receive_timeout" ] == 3600
338
- assert "send_timeout" in mc .behaviors
339
- assert mc .behaviors ["send_timeout" ] == 1800
340
- assert "tcp_nodelay" in mc .behaviors
341
- assert mc .behaviors ["tcp_nodelay" ] == 1
342
- assert "auto_eject" in mc .behaviors
343
- assert mc .behaviors ["auto_eject" ] == 0
344
-
345
- def test_pylibmc_pool_sharing (self ):
346
- from beaker .ext import memcached
347
- cache_1a = Cache ('test_1a' , data_dir = './cache' ,
348
- memcache_module = 'pylibmc' ,
349
- url = mc_url , type = "ext:memcached" )
350
- cache_1b = Cache ('test_1b' , data_dir = './cache' ,
351
- memcache_module = 'pylibmc' ,
352
- url = mc_url , type = "ext:memcached" )
353
- cache_2 = Cache ('test_2' , data_dir = './cache' ,
354
- memcache_module = 'pylibmc' ,
355
- url = '127.0.0.1:11212' , type = "ext:memcached" )
356
-
357
- assert (cache_1a .namespace .pool is cache_1b .namespace .pool )
358
- assert (cache_1a .namespace .pool is not cache_2 .namespace .pool )
359
-
0 commit comments