-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtests.py
56 lines (42 loc) · 1.43 KB
/
tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import asyncio
import jsonpickle
import muffin
import pytest
import logging
@pytest.fixture(scope='session')
def app(loop):
app = muffin.Application(
'redis_cache', loop=loop,
PLUGINS=[
'muffin_redis_cache'
],
REDIS_FAKE=True
)
@app.register('/cached')
@app.ps.redis_cache.cached()
def cached(request):
return {'key': 'value'}
@app.register('/cached_keyprefix')
@app.ps.redis_cache.cached(key_prefix='custom_keyprefix')
def cached_keyprefix(request):
return {'firstname': 'Mike', 'gender': 'male'}
return app
def test_muffin_redis_cache(loop, app, client):
assert app.ps.redis_cache
assert app.ps.redis_cache.conn
response = client.get('/cached')
assert response.status_code == 200
assert 'key' in response.json
response = client.get('/cached_keyprefix')
assert response.status_code == 200
assert 'firstname' in response.json
@asyncio.coroutine
def exist_key_in_redis():
return (yield from app.ps.redis_cache.get('view/cached'))
result = loop.run_until_complete(exist_key_in_redis())
assert jsonpickle.decode(result) == {'key': 'value'}
@asyncio.coroutine
def exist_key_in_redis():
return (yield from app.ps.redis_cache.get('custom_keyprefix'))
result = loop.run_until_complete(exist_key_in_redis())
assert jsonpickle.decode(result) == {'firstname': 'Mike', 'gender': 'male'}