-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtests.py
More file actions
126 lines (112 loc) · 4.23 KB
/
tests.py
File metadata and controls
126 lines (112 loc) · 4.23 KB
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
"""
This file demonstrates writing tests using the unittest module. These will pass
when you run "manage.py test".
Replace this with more appropriate tests for your application.
"""
from django.test import TestCase
from django.core.cache import get_cache
import mock
import pycassa
from pycassa.system_manager import *
class CacheTests(TestCase):
def test_cache_only(self):
cache = get_cache('cacheandra.cacheandra.CacheBackend', **{
'LOCATION': '127.0.0.1:11211',
})
self.cache_tests(cache)
def test_cache_and_cassandra(self):
cache = get_cache('cacheandra.cacheandra.CacheBackend', **{
'LOCATION': '127.0.0.1:11211',
'CASSANDRA': '127.0.0.1',
})
self.cache_tests(cache)
def test_cassandra_only(self):
cache = get_cache('cacheandra.cacheandra.CacheBackend', **{
'CASSANDRA': '127.0.0.1',
})
self.cache_tests(cache)
def test_nothing(self):
cache = get_cache('cacheandra.cacheandra.CacheBackend', **{
})
value = cache.get('testkey')
self.assertEquals(value,None)
result = cache.add('testkey','testvalue')
self.assertEquals(result,None)
value = cache.get('testkey')
self.assertEquals(value,None)
cache.set('testkey','secondtestvalue')
value = cache.get('testkey')
self.assertEquals(value,None)
cache.delete('testkey')
value = cache.get('testkey')
self.assertEquals(value,None)
cache.set('testcounter',1)
value = cache.get('testcounter')
self.assertEquals(value,None)
cache.delete('testcounter')
value = cache.get('testcounter')
self.assertEquals(value,None)
def cache_tests(self,cache):
# perform a consistent set of tests on all cache configurations
cache.clear()
value = cache.get('testkey')
self.assertEquals(value,None)
result = cache.add('testkey','testvalue')
self.assertEquals(result,True)
value = cache.get('testkey')
self.assertEquals(value,'testvalue')
cache.set('testkey','secondtestvalue')
value = cache.get('testkey')
self.assertEquals(value,'secondtestvalue')
cache.delete('testkey')
value = cache.get('testkey')
self.assertEquals(value,None)
cache.set('testcounter',1)
value = cache.get('testcounter')
self.assertEquals(value,1)
cache.incr('testcounter',delta=1)
value = cache.get('testcounter')
self.assertEquals(value,2)
cache.incr('testcounter',delta=10)
value = cache.get('testcounter')
self.assertEquals(value,12)
cache.decr('testcounter',delta=1)
value = cache.get('testcounter',11)
cache.decr('testcounter',delta=7)
value = cache.get('testcounter')
self.assertEquals(value,4)
cache.delete('testcounter')
value = cache.get('testcounter')
self.assertEquals(value,None)
def test_basic_cache(self):
cache = get_cache('default')
cache.clear()
value = cache.get('testkey')
self.assertEquals(value,None)
result = cache.add('testkey','testvalue')
self.assertEquals(result,True)
value = cache.get('testkey')
self.assertEquals(value,'testvalue')
cache.set('testkey','secondtestvalue')
value = cache.get('testkey')
self.assertEquals(value,'secondtestvalue')
cache.delete('testkey')
value = cache.get('testkey')
self.assertEquals(value,None)
cache.set('testcounter',1)
value = cache.get('testcounter')
self.assertEquals(value,1)
cache.incr('testcounter',delta=1)
value = cache.get('testcounter')
self.assertEquals(value,2)
cache.incr('testcounter',delta=10)
value = cache.get('testcounter')
self.assertEquals(value,12)
cache.decr('testcounter',delta=1)
value = cache.get('testcounter',11)
cache.decr('testcounter',delta=7)
value = cache.get('testcounter')
self.assertEquals(value,4)
cache.delete('testcounter')
value = cache.get('testcounter')
self.assertEquals(value,None)