~hudson-openstack/burrow/trunk

« back to all changes in this revision

Viewing changes to test/backend/test_memory.py

  • Committer: Tarmac
  • Author(s): Eric Day
  • Date: 2011-08-16 21:13:03 UTC
  • mfrom: (33.1.1 doc-updates)
  • Revision ID: tarmac-20110816211303-xu1zvok0cdrmit20
Test case cleanup, moved backend base test cases to test.backend (out of memory test).

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
# See the License for the specific language governing permissions and
13
13
# limitations under the License.
14
14
 
 
15
'''Unittests for the memory backend.'''
 
16
 
15
17
import ConfigParser
16
 
import time
17
 
import unittest
18
 
 
19
 
import eventlet
20
 
eventlet.monkey_patch(socket=True)
21
 
 
22
 
import burrow.backend
 
18
 
23
19
import burrow.backend.memory
24
 
 
25
 
 
26
 
class TestMemory(unittest.TestCase):
27
 
    '''Unittests for the memory backend.'''
 
20
import test.backend
 
21
 
 
22
 
 
23
class MemoryBase(test.backend.Base):
 
24
    '''Base test case for memory backend.'''
28
25
 
29
26
    def setUp(self):
30
27
        config = (ConfigParser.ConfigParser(), 'test')
31
28
        self.backend = burrow.backend.memory.Backend(config)
32
29
        self.check_empty()
33
30
 
34
 
    def tearDown(self):
35
 
        self.check_empty()
36
 
 
37
 
    def check_empty(self):
38
 
        accounts = self.backend.get_accounts()
39
 
        self.assertRaises(burrow.backend.NotFound, list, accounts)
40
 
        queues = self.backend.get_queues('a')
41
 
        self.assertRaises(burrow.backend.NotFound, list, queues)
42
 
        filters = dict(match_hidden=True)
43
 
        messages = self.backend.get_messages('a', 'q', filters)
44
 
        self.assertRaises(burrow.backend.NotFound, list, messages)
45
 
 
46
 
    def test_accounts(self):
47
 
        self.backend.create_message('a', 'q', 'm', 'test')
48
 
        self.assertEquals(['a'], list(self.backend.get_accounts()))
49
 
        self.assertEquals([], list(self.backend.delete_accounts()))
50
 
        accounts = self.backend.delete_accounts()
51
 
        self.assertRaises(burrow.backend.NotFound, list, accounts)
52
 
 
53
 
    def test_accounts_large(self):
54
 
        for x in xrange(0, 1000):
55
 
            self.backend.create_message(str(x), str(x), str(x), str(x))
56
 
        filters = dict(marker='unknown')
57
 
        self.assertEquals([], list(self.backend.delete_accounts(filters)))
58
 
 
59
 
    def test_accounts_delete_detail_all(self):
60
 
        self.backend.create_message('a', 'q', 'm', 'test')
61
 
        filters = dict(detail='all')
62
 
        accounts = list(self.backend.delete_accounts(filters))
63
 
        self.assertEquals([dict(id='a')], accounts)
64
 
 
65
 
    def test_accounts_delete_detail_id(self):
66
 
        self.backend.create_message('a', 'q', 'm', 'test')
67
 
        filters = dict(detail='id')
68
 
        accounts = list(self.backend.delete_accounts(filters))
69
 
        self.assertEquals(['a'], accounts)
70
 
 
71
 
    def test_accounts_delete_detail_none(self):
72
 
        self.backend.create_message('a', 'q', 'm', 'test')
73
 
        filters = dict(detail='none')
74
 
        accounts = list(self.backend.delete_accounts(filters))
75
 
        self.assertEquals([], accounts)
76
 
 
77
 
    def test_accounts_delete_detail_bad(self):
78
 
        self.backend.create_message('a', 'q', 'm', 'test')
79
 
        filters = dict(detail='bad')
80
 
        accounts = self.backend.delete_accounts(filters)
81
 
        self.assertRaises(burrow.backend.InvalidArguments, list, accounts)
82
 
        self.assertEquals([], list(self.backend.delete_accounts()))
83
 
 
84
 
    def test_accounts_delete_marker(self):
85
 
        self.backend.create_message('a1', 'q', 'm', 'test')
86
 
        self.backend.create_message('a2', 'q', 'm', 'test')
87
 
        self.backend.create_message('a3', 'q', 'm', 'test')
88
 
        accounts = list(self.backend.get_accounts())
89
 
        self.assertEquals(3, len(accounts))
90
 
        filters = dict(detail='id', marker=accounts[0])
91
 
        accounts2 = list(self.backend.delete_accounts(filters))
92
 
        self.assertEquals(accounts[1:], accounts2)
93
 
        accounts2 = list(self.backend.get_accounts())
94
 
        self.assertEquals(accounts[:1], accounts2)
95
 
        filters = dict(detail='id', marker='unknown')
96
 
        accounts2 = list(self.backend.delete_accounts(filters))
97
 
        self.assertEquals(accounts[:1], accounts2)
98
 
 
99
 
    def test_accounts_delete_limit(self):
100
 
        self.backend.create_message('a1', 'q', 'm', 'test')
101
 
        self.backend.create_message('a2', 'q', 'm', 'test')
102
 
        self.backend.create_message('a3', 'q', 'm', 'test')
103
 
        accounts = list(self.backend.get_accounts())
104
 
        self.assertEquals(3, len(accounts))
105
 
        filters = dict(detail='id', limit=1)
106
 
        accounts2 = list(self.backend.delete_accounts(filters))
107
 
        self.assertEquals(accounts[:1], accounts2)
108
 
        filters = dict(detail='id', limit=2)
109
 
        accounts2 = list(self.backend.delete_accounts(filters))
110
 
        self.assertEquals(accounts[1:3], accounts2)
111
 
 
112
 
    def test_accounts_delete_marker_limit(self):
113
 
        self.backend.create_message('a1', 'q', 'm', 'test')
114
 
        self.backend.create_message('a2', 'q', 'm', 'test')
115
 
        self.backend.create_message('a3', 'q', 'm', 'test')
116
 
        accounts = list(self.backend.get_accounts())
117
 
        self.assertEquals(3, len(accounts))
118
 
        filters = dict(detail='id', marker=accounts[1], limit=1)
119
 
        accounts2 = list(self.backend.delete_accounts(filters))
120
 
        self.assertEquals(accounts[2:3], accounts2)
121
 
        filters = dict(detail='id', marker=accounts[0], limit=2)
122
 
        accounts2 = list(self.backend.delete_accounts(filters))
123
 
        self.assertEquals(accounts[1:2], accounts2)
124
 
        self.assertEquals([], list(self.backend.delete_accounts()))
125
 
 
126
 
    def test_accounts_get_detail_all(self):
127
 
        self.backend.create_message('a', 'q', 'm', 'test')
128
 
        filters = dict(detail='all')
129
 
        accounts = list(self.backend.get_accounts(filters))
130
 
        self.assertEquals([dict(id='a')], accounts)
131
 
        self.assertEquals([], list(self.backend.delete_accounts()))
132
 
 
133
 
    def test_accounts_get_detail_id(self):
134
 
        self.backend.create_message('a', 'q', 'm', 'test')
135
 
        filters = dict(detail='id')
136
 
        accounts = list(self.backend.get_accounts(filters))
137
 
        self.assertEquals(['a'], accounts)
138
 
        self.assertEquals([], list(self.backend.delete_accounts()))
139
 
 
140
 
    def test_accounts_get_detail_none(self):
141
 
        self.backend.create_message('a', 'q', 'm', 'test')
142
 
        filters = dict(detail='none')
143
 
        accounts = list(self.backend.get_accounts(filters))
144
 
        self.assertEquals([], accounts)
145
 
        self.assertEquals([], list(self.backend.delete_accounts()))
146
 
 
147
 
    def test_accounts_get_detail_bad(self):
148
 
        self.backend.create_message('a', 'q', 'm', 'test')
149
 
        filters = dict(detail='bad')
150
 
        accounts = self.backend.get_accounts(filters)
151
 
        self.assertRaises(burrow.backend.InvalidArguments, list, accounts)
152
 
        self.assertEquals([], list(self.backend.delete_accounts()))
153
 
 
154
 
    def test_accounts_get_marker(self):
155
 
        self.backend.create_message('a1', 'q', 'm', 'test')
156
 
        self.backend.create_message('a2', 'q', 'm', 'test')
157
 
        self.backend.create_message('a3', 'q', 'm', 'test')
158
 
        accounts = list(self.backend.get_accounts())
159
 
        self.assertEquals(3, len(accounts))
160
 
        filters = dict(marker=accounts[0])
161
 
        accounts2 = list(self.backend.get_accounts(filters))
162
 
        self.assertEquals(accounts[1:], accounts2)
163
 
        filters = dict(marker=accounts[1])
164
 
        accounts2 = list(self.backend.get_accounts(filters))
165
 
        self.assertEquals(accounts[2:], accounts2)
166
 
        filters = dict(marker=accounts[2])
167
 
        accounts2 = self.backend.get_accounts(filters)
168
 
        self.assertRaises(burrow.backend.NotFound, list, accounts2)
169
 
        filters = dict(marker='unknown')
170
 
        accounts2 = list(self.backend.get_accounts(filters))
171
 
        self.assertEquals(accounts, accounts2)
172
 
        self.assertEquals([], list(self.backend.delete_accounts()))
173
 
 
174
 
    def test_accounts_get_limit(self):
175
 
        self.backend.create_message('a1', 'q', 'm', 'test')
176
 
        self.backend.create_message('a2', 'q', 'm', 'test')
177
 
        self.backend.create_message('a3', 'q', 'm', 'test')
178
 
        accounts = list(self.backend.get_accounts())
179
 
        self.assertEquals(3, len(accounts))
180
 
        filters = dict(limit=1)
181
 
        accounts2 = list(self.backend.get_accounts(filters))
182
 
        self.assertEquals(accounts[:1], accounts2)
183
 
        filters = dict(limit=2)
184
 
        accounts2 = list(self.backend.get_accounts(filters))
185
 
        self.assertEquals(accounts[:2], accounts2)
186
 
        filters = dict(limit=3)
187
 
        accounts2 = list(self.backend.get_accounts(filters))
188
 
        self.assertEquals(accounts, accounts2)
189
 
        filters = dict(limit=100)
190
 
        accounts2 = list(self.backend.get_accounts(filters))
191
 
        self.assertEquals(accounts, accounts2)
192
 
        self.assertEquals([], list(self.backend.delete_accounts()))
193
 
 
194
 
    def test_accounts_get_marker_limit(self):
195
 
        self.backend.create_message('a1', 'q', 'm', 'test')
196
 
        self.backend.create_message('a2', 'q', 'm', 'test')
197
 
        self.backend.create_message('a3', 'q', 'm', 'test')
198
 
        accounts = list(self.backend.get_accounts())
199
 
        self.assertEquals(3, len(accounts))
200
 
        filters = dict(marker=accounts[1], limit=1)
201
 
        accounts2 = list(self.backend.get_accounts(filters))
202
 
        self.assertEquals(accounts[2:3], accounts2)
203
 
        filters = dict(marker=accounts[0], limit=2)
204
 
        accounts2 = list(self.backend.get_accounts(filters))
205
 
        self.assertEquals(accounts[1:3], accounts2)
206
 
        self.assertEquals([], list(self.backend.delete_accounts()))
207
 
 
208
 
    def test_queues(self):
209
 
        self.backend.create_message('a', 'q', 'm', 'test')
210
 
        self.assertEquals(['q'], list(self.backend.get_queues('a')))
211
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
212
 
        queues = self.backend.delete_queues('a')
213
 
        self.assertRaises(burrow.backend.NotFound, list, queues)
214
 
 
215
 
    def test_queues_large(self):
216
 
        for x in xrange(0, 1000):
217
 
            self.backend.create_message('a', str(x), str(x), str(x))
218
 
        filters = dict(marker='unknown')
219
 
        self.assertEquals([], list(self.backend.delete_queues('a', filters)))
220
 
 
221
 
    def test_queues_delete_detail_all(self):
222
 
        self.backend.create_message('a', 'q', 'm', 'test')
223
 
        filters = dict(detail='all')
224
 
        queues = list(self.backend.delete_queues('a', filters))
225
 
        self.assertEquals([dict(id='q')], queues)
226
 
 
227
 
    def test_queues_delete_detail_id(self):
228
 
        self.backend.create_message('a', 'q', 'm', 'test')
229
 
        filters = dict(detail='id')
230
 
        queues = list(self.backend.delete_queues('a', filters))
231
 
        self.assertEquals(['q'], queues)
232
 
 
233
 
    def test_queues_delete_detail_none(self):
234
 
        self.backend.create_message('a', 'q', 'm', 'test')
235
 
        filters = dict(detail='none')
236
 
        queues = list(self.backend.delete_queues('a', filters))
237
 
        self.assertEquals([], queues)
238
 
 
239
 
    def test_queues_delete_detail_bad(self):
240
 
        self.backend.create_message('a', 'q', 'm', 'test')
241
 
        filters = dict(detail='bad')
242
 
        queues = self.backend.delete_queues('a', filters)
243
 
        self.assertRaises(burrow.backend.InvalidArguments, list, queues)
244
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
245
 
 
246
 
    def test_queues_delete_marker(self):
247
 
        self.backend.create_message('a', 'q1', 'm', 'test')
248
 
        self.backend.create_message('a', 'q2', 'm', 'test')
249
 
        self.backend.create_message('a', 'q3', 'm', 'test')
250
 
        queues = list(self.backend.get_queues('a'))
251
 
        self.assertEquals(3, len(queues))
252
 
        filters = dict(detail='id', marker=queues[0])
253
 
        queues2 = list(self.backend.delete_queues('a', filters))
254
 
        self.assertEquals(queues[1:], queues2)
255
 
        queues2 = list(self.backend.get_queues('a'))
256
 
        self.assertEquals(queues[:1], queues2)
257
 
        filters = dict(detail='id', marker='unknown')
258
 
        queues2 = list(self.backend.delete_queues('a', filters))
259
 
        self.assertEquals(queues[:1], queues2)
260
 
 
261
 
    def test_queues_delete_limit(self):
262
 
        self.backend.create_message('a', 'q1', 'm', 'test')
263
 
        self.backend.create_message('a', 'q2', 'm', 'test')
264
 
        self.backend.create_message('a', 'q3', 'm', 'test')
265
 
        queues = list(self.backend.get_queues('a'))
266
 
        self.assertEquals(3, len(queues))
267
 
        filters = dict(detail='id', limit=1)
268
 
        queues2 = list(self.backend.delete_queues('a', filters))
269
 
        self.assertEquals(queues[:1], queues2)
270
 
        filters = dict(detail='id', limit=2)
271
 
        queues2 = list(self.backend.delete_queues('a', filters))
272
 
        self.assertEquals(queues[1:3], queues2)
273
 
 
274
 
    def test_queues_delete_marker_limit(self):
275
 
        self.backend.create_message('a', 'q1', 'm', 'test')
276
 
        self.backend.create_message('a', 'q2', 'm', 'test')
277
 
        self.backend.create_message('a', 'q3', 'm', 'test')
278
 
        queues = list(self.backend.get_queues('a'))
279
 
        self.assertEquals(3, len(queues))
280
 
        filters = dict(detail='id', marker=queues[1], limit=1)
281
 
        queues2 = list(self.backend.delete_queues('a', filters))
282
 
        self.assertEquals(queues[2:3], queues2)
283
 
        filters = dict(detail='id', marker=queues[0], limit=2)
284
 
        queues2 = list(self.backend.delete_queues('a', filters))
285
 
        self.assertEquals(queues[1:2], queues2)
286
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
287
 
 
288
 
    def test_queues_get_detail_all(self):
289
 
        self.backend.create_message('a', 'q', 'm', 'test')
290
 
        filters = dict(detail='all')
291
 
        queues = list(self.backend.get_queues('a', filters))
292
 
        self.assertEquals([dict(id='q')], queues)
293
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
294
 
 
295
 
    def test_queues_get_detail_id(self):
296
 
        self.backend.create_message('a', 'q', 'm', 'test')
297
 
        filters = dict(detail='id')
298
 
        queues = list(self.backend.get_queues('a', filters))
299
 
        self.assertEquals(['q'], queues)
300
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
301
 
 
302
 
    def test_queues_get_detail_none(self):
303
 
        self.backend.create_message('a', 'q', 'm', 'test')
304
 
        filters = dict(detail='none')
305
 
        queues = list(self.backend.get_queues('a', filters))
306
 
        self.assertEquals([], queues)
307
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
308
 
 
309
 
    def test_queues_get_detail_bad(self):
310
 
        self.backend.create_message('a', 'q', 'm', 'test')
311
 
        filters = dict(detail='bad')
312
 
        queues = self.backend.get_queues('a', filters)
313
 
        self.assertRaises(burrow.backend.InvalidArguments, list, queues)
314
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
315
 
 
316
 
    def test_queues_get_marker(self):
317
 
        self.backend.create_message('a', 'q1', 'm', 'test')
318
 
        self.backend.create_message('a', 'q2', 'm', 'test')
319
 
        self.backend.create_message('a', 'q3', 'm', 'test')
320
 
        queues = list(self.backend.get_queues('a'))
321
 
        self.assertEquals(3, len(queues))
322
 
        filters = dict(marker=queues[0])
323
 
        queues2 = list(self.backend.get_queues('a', filters))
324
 
        self.assertEquals(queues[1:], queues2)
325
 
        filters = dict(marker=queues[1])
326
 
        queues2 = list(self.backend.get_queues('a', filters))
327
 
        self.assertEquals(queues[2:], queues2)
328
 
        filters = dict(marker=queues[2])
329
 
        queues2 = self.backend.get_queues('a', filters)
330
 
        self.assertRaises(burrow.backend.NotFound, list, queues2)
331
 
        filters = dict(marker='unknown')
332
 
        queues2 = list(self.backend.get_queues('a', filters))
333
 
        self.assertEquals(queues, queues2)
334
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
335
 
 
336
 
    def test_queues_get_limit(self):
337
 
        self.backend.create_message('a', 'q1', 'm', 'test')
338
 
        self.backend.create_message('a', 'q2', 'm', 'test')
339
 
        self.backend.create_message('a', 'q3', 'm', 'test')
340
 
        queues = list(self.backend.get_queues('a'))
341
 
        self.assertEquals(3, len(queues))
342
 
        filters = dict(limit=1)
343
 
        queues2 = list(self.backend.get_queues('a', filters))
344
 
        self.assertEquals(queues[:1], queues2)
345
 
        filters = dict(limit=2)
346
 
        queues2 = list(self.backend.get_queues('a', filters))
347
 
        self.assertEquals(queues[:2], queues2)
348
 
        filters = dict(limit=3)
349
 
        queues2 = list(self.backend.get_queues('a', filters))
350
 
        self.assertEquals(queues, queues2)
351
 
        filters = dict(limit=100)
352
 
        queues2 = list(self.backend.get_queues('a', filters))
353
 
        self.assertEquals(queues, queues2)
354
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
355
 
 
356
 
    def test_queues_get_marker_limit(self):
357
 
        self.backend.create_message('a', 'q1', 'm', 'test')
358
 
        self.backend.create_message('a', 'q2', 'm', 'test')
359
 
        self.backend.create_message('a', 'q3', 'm', 'test')
360
 
        queues = list(self.backend.get_queues('a'))
361
 
        self.assertEquals(3, len(queues))
362
 
        filters = dict(marker=queues[1], limit=1)
363
 
        queues2 = list(self.backend.get_queues('a', filters))
364
 
        self.assertEquals(queues[2:3], queues2)
365
 
        filters = dict(marker=queues[0], limit=2)
366
 
        queues2 = list(self.backend.get_queues('a', filters))
367
 
        self.assertEquals(queues[1:3], queues2)
368
 
        self.assertEquals([], list(self.backend.delete_queues('a')))
369
 
 
370
 
    def test_messages(self):
371
 
        self.backend.create_message('a', 'q', 'm', 'test')
372
 
        message = dict(id='m', ttl=0, hide=0, body='test')
373
 
        messages = list(self.backend.get_messages('a', 'q'))
374
 
        self.assertEquals([message], messages)
375
 
        attributes = dict(ttl=100, hide=200)
376
 
        messages = list(self.backend.update_messages('a', 'q', attributes))
377
 
        self.assertEquals([], messages)
378
 
        attributes = dict(ttl=0, hide=0)
379
 
        filters = dict(match_hidden=True)
380
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
381
 
        self.assertEquals([], list(messages))
382
 
        messages = self.backend.update_messages('a', 'q', dict(), filters)
383
 
        self.assertEquals([], list(messages))
384
 
        self.delete_messages()
385
 
        messages = self.backend.delete_messages('a', 'q')
386
 
        self.assertRaises(burrow.backend.NotFound, list, messages)
387
 
        messages = self.backend.update_messages('a', 'q', attributes)
388
 
        self.assertRaises(burrow.backend.NotFound, list, messages)
389
 
 
390
 
    def test_messages_large(self):
391
 
        for x in xrange(0, 1000):
392
 
            self.backend.create_message('a', 'q', str(x), str(x))
393
 
        attributes = dict(ttl=100, hide=200)
394
 
        messages = self.backend.update_messages('a', 'q', attributes)
395
 
        self.assertEquals([], list(messages))
396
 
        self.delete_messages()
397
 
 
398
 
    def test_messages_delete_detail_all(self):
399
 
        self.backend.create_message('a', 'q', 'm', 'test')
400
 
        message = dict(id='m', ttl=0, hide=0, body='test')
401
 
        filters = dict(detail='all')
402
 
        messages = list(self.backend.delete_messages('a', 'q', filters))
403
 
        self.assertEquals([message], messages)
404
 
 
405
 
    def test_messages_delete_detail_attributes(self):
406
 
        self.backend.create_message('a', 'q', 'm', 'test')
407
 
        message = dict(id='m', ttl=0, hide=0)
408
 
        filters = dict(detail='attributes')
409
 
        messages = list(self.backend.delete_messages('a', 'q', filters))
410
 
        self.assertEquals([message], messages)
411
 
 
412
 
    def test_messages_delete_detail_body(self):
413
 
        self.backend.create_message('a', 'q', 'm', 'test')
414
 
        filters = dict(detail='body')
415
 
        messages = list(self.backend.delete_messages('a', 'q', filters))
416
 
        self.assertEquals(['test'], messages)
417
 
 
418
 
    def test_messages_delete_detail_id(self):
419
 
        self.backend.create_message('a', 'q', 'm', 'test')
420
 
        filters = dict(detail='id')
421
 
        messages = list(self.backend.delete_messages('a', 'q', filters))
422
 
        self.assertEquals(['m'], messages)
423
 
 
424
 
    def test_messages_delete_detail_none(self):
425
 
        self.backend.create_message('a', 'q', 'm', 'test')
426
 
        filters = dict(detail='none')
427
 
        messages = list(self.backend.delete_messages('a', 'q', filters))
428
 
        self.assertEquals([], messages)
429
 
 
430
 
    def test_messages_delete_detail_bad(self):
431
 
        self.backend.create_message('a', 'q', 'm', 'test')
432
 
        filters = dict(detail='bad')
433
 
        messages = self.backend.delete_messages('a', 'q', filters)
434
 
        self.assertRaises(burrow.backend.InvalidArguments, list, messages)
435
 
        self.assertEquals([], list(self.backend.delete_messages('a', 'q')))
436
 
 
437
 
    def test_messages_delete_marker(self):
438
 
        self.backend.create_message('a', 'q', 'm1', 'test')
439
 
        self.backend.create_message('a', 'q', 'm2', 'test')
440
 
        self.backend.create_message('a', 'q', 'm3', 'test')
441
 
        messages = list(self.backend.get_messages('a', 'q'))
442
 
        self.assertEquals(3, len(messages))
443
 
        filters = dict(detail='all', marker=messages[0]['id'])
444
 
        messages2 = list(self.backend.delete_messages('a', 'q', filters))
445
 
        self.assertEquals(messages[1:], messages2)
446
 
        messages2 = list(self.backend.get_messages('a', 'q'))
447
 
        self.assertEquals(messages[:1], messages2)
448
 
        filters = dict(detail='all', marker='unknown')
449
 
        messages2 = list(self.backend.delete_messages('a', 'q', filters))
450
 
        self.assertEquals(messages[:1], messages2)
451
 
 
452
 
    def test_messages_delete_limit(self):
453
 
        self.backend.create_message('a', 'q', 'm1', 'test')
454
 
        self.backend.create_message('a', 'q', 'm2', 'test')
455
 
        self.backend.create_message('a', 'q', 'm3', 'test')
456
 
        messages = list(self.backend.get_messages('a', 'q'))
457
 
        self.assertEquals(3, len(messages))
458
 
        filters = dict(detail='all', limit=1)
459
 
        messages2 = list(self.backend.delete_messages('a', 'q', filters))
460
 
        self.assertEquals(messages[:1], messages2)
461
 
        filters = dict(detail='all', limit=2)
462
 
        messages2 = list(self.backend.delete_messages('a', 'q', filters))
463
 
        self.assertEquals(messages[1:3], messages2)
464
 
 
465
 
    def test_messages_delete_marker_limit(self):
466
 
        self.backend.create_message('a', 'q', 'm1', 'test')
467
 
        self.backend.create_message('a', 'q', 'm2', 'test')
468
 
        self.backend.create_message('a', 'q', 'm3', 'test')
469
 
        messages = list(self.backend.get_messages('a', 'q'))
470
 
        self.assertEquals(3, len(messages))
471
 
        filters = dict(detail='all', marker=messages[1]['id'], limit=1)
472
 
        messages2 = list(self.backend.delete_messages('a', 'q', filters))
473
 
        self.assertEquals(messages[2:3], messages2)
474
 
        filters = dict(detail='all', marker=messages[0]['id'], limit=2)
475
 
        messages2 = list(self.backend.delete_messages('a', 'q', filters))
476
 
        self.assertEquals(messages[1:2], messages2)
477
 
        self.assertEquals([], list(self.backend.delete_messages('a', 'q')))
478
 
 
479
 
    def test_messages_get_detail_all(self):
480
 
        self.backend.create_message('a', 'q', 'm', 'test')
481
 
        message = dict(id='m', ttl=0, hide=0, body='test')
482
 
        filters = dict(detail='all')
483
 
        messages = list(self.backend.get_messages('a', 'q', filters))
484
 
        self.assertEquals([message], messages)
485
 
        self.delete_messages()
486
 
 
487
 
    def test_messages_get_detail_attributes(self):
488
 
        self.backend.create_message('a', 'q', 'm', 'test')
489
 
        message = dict(id='m', ttl=0, hide=0)
490
 
        filters = dict(detail='attributes')
491
 
        messages = list(self.backend.get_messages('a', 'q', filters))
492
 
        self.assertEquals([message], messages)
493
 
        self.delete_messages()
494
 
 
495
 
    def test_messages_get_detail_body(self):
496
 
        self.backend.create_message('a', 'q', 'm', 'test')
497
 
        filters = dict(detail='body')
498
 
        messages = list(self.backend.get_messages('a', 'q', filters))
499
 
        self.assertEquals(['test'], messages)
500
 
        self.delete_messages()
501
 
 
502
 
    def test_messages_get_detail_id(self):
503
 
        self.backend.create_message('a', 'q', 'm', 'test')
504
 
        filters = dict(detail='id')
505
 
        messages = list(self.backend.get_messages('a', 'q', filters))
506
 
        self.assertEquals(['m'], messages)
507
 
        self.delete_messages()
508
 
 
509
 
    def test_messages_get_detail_none(self):
510
 
        self.backend.create_message('a', 'q', 'm', 'test')
511
 
        filters = dict(detail='none')
512
 
        messages = list(self.backend.get_messages('a', 'q', filters))
513
 
        self.assertEquals([], messages)
514
 
        self.delete_messages()
515
 
 
516
 
    def test_messages_get_detail_bad(self):
517
 
        self.backend.create_message('a', 'q', 'm', 'test')
518
 
        filters = dict(detail='bad')
519
 
        messages = self.backend.get_messages('a', 'q', filters)
520
 
        self.assertRaises(burrow.backend.InvalidArguments, list, messages)
521
 
        self.delete_messages()
522
 
 
523
 
    def test_messages_get_marker(self):
524
 
        self.backend.create_message('a', 'q', 'm1', 'test')
525
 
        self.backend.create_message('a', 'q', 'm2', 'test')
526
 
        self.backend.create_message('a', 'q', 'm3', 'test')
527
 
        messages = list(self.backend.get_messages('a', 'q'))
528
 
        self.assertEquals(3, len(messages))
529
 
        filters = dict(marker=messages[0]['id'])
530
 
        messages2 = list(self.backend.get_messages('a', 'q', filters))
531
 
        self.assertEquals(messages[1:], messages2)
532
 
        filters = dict(marker=messages[1]['id'])
533
 
        messages2 = list(self.backend.get_messages('a', 'q', filters))
534
 
        self.assertEquals(messages[2:], messages2)
535
 
        filters = dict(marker=messages[2]['id'])
536
 
        messages2 = self.backend.get_messages('a', 'q', filters)
537
 
        self.assertRaises(burrow.backend.NotFound, list, messages2)
538
 
        filters = dict(marker='unknown')
539
 
        messages2 = list(self.backend.get_messages('a', 'q', filters))
540
 
        self.assertEquals(messages, messages2)
541
 
        self.delete_messages()
542
 
 
543
 
    def test_messages_get_limit(self):
544
 
        self.backend.create_message('a', 'q', 'm1', 'test')
545
 
        self.backend.create_message('a', 'q', 'm2', 'test')
546
 
        self.backend.create_message('a', 'q', 'm3', 'test')
547
 
        messages = list(self.backend.get_messages('a', 'q'))
548
 
        self.assertEquals(3, len(messages))
549
 
        filters = dict(limit=1)
550
 
        messages2 = list(self.backend.get_messages('a', 'q', filters))
551
 
        self.assertEquals(messages[:1], messages2)
552
 
        filters = dict(limit=2)
553
 
        messages2 = list(self.backend.get_messages('a', 'q', filters))
554
 
        self.assertEquals(messages[:2], messages2)
555
 
        filters = dict(limit=3)
556
 
        messages2 = list(self.backend.get_messages('a', 'q', filters))
557
 
        self.assertEquals(messages, messages2)
558
 
        filters = dict(limit=100)
559
 
        messages2 = list(self.backend.get_messages('a', 'q', filters))
560
 
        self.assertEquals(messages, messages2)
561
 
        self.delete_messages()
562
 
 
563
 
    def test_messages_get_marker_limit(self):
564
 
        self.backend.create_message('a', 'q', 'm1', 'test')
565
 
        self.backend.create_message('a', 'q', 'm2', 'test')
566
 
        self.backend.create_message('a', 'q', 'm3', 'test')
567
 
        messages = list(self.backend.get_messages('a', 'q'))
568
 
        self.assertEquals(3, len(messages))
569
 
        filters = dict(marker=messages[1]['id'], limit=1)
570
 
        messages2 = list(self.backend.get_messages('a', 'q', filters))
571
 
        self.assertEquals(messages[2:3], messages2)
572
 
        filters = dict(marker=messages[0]['id'], limit=2)
573
 
        messages2 = list(self.backend.get_messages('a', 'q', filters))
574
 
        self.assertEquals(messages[1:3], messages2)
575
 
        self.delete_messages()
576
 
 
577
 
    def test_messages_update_detail_all(self):
578
 
        self.backend.create_message('a', 'q', 'm', 'test')
579
 
        message = dict(id='m', ttl=100, hide=200, body='test')
580
 
        attributes = dict(ttl=100, hide=200)
581
 
        filters = dict(detail='all')
582
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
583
 
        self.assertEquals([message], list(messages))
584
 
        self.delete_messages()
585
 
 
586
 
    def test_messages_update_detail_attributes(self):
587
 
        self.backend.create_message('a', 'q', 'm', 'test')
588
 
        message = dict(id='m', ttl=100, hide=200)
589
 
        attributes = dict(ttl=100, hide=200)
590
 
        filters = dict(detail='attributes')
591
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
592
 
        self.assertEquals([message], list(messages))
593
 
        self.delete_messages()
594
 
 
595
 
    def test_messages_update_detail_body(self):
596
 
        self.backend.create_message('a', 'q', 'm', 'test')
597
 
        attributes = dict(ttl=100, hide=200)
598
 
        filters = dict(detail='body')
599
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
600
 
        self.assertEquals(['test'], list(messages))
601
 
        self.delete_messages()
602
 
 
603
 
    def test_messages_update_detail_id(self):
604
 
        self.backend.create_message('a', 'q', 'm', 'test')
605
 
        attributes = dict(ttl=100, hide=200)
606
 
        filters = dict(detail='id')
607
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
608
 
        self.assertEquals(['m'], list(messages))
609
 
        self.delete_messages()
610
 
 
611
 
    def test_messages_update_detail_none(self):
612
 
        self.backend.create_message('a', 'q', 'm', 'test')
613
 
        attributes = dict(ttl=100, hide=200)
614
 
        filters = dict(detail='none')
615
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
616
 
        self.assertEquals([], list(messages))
617
 
        self.delete_messages()
618
 
 
619
 
    def test_messages_update_detail_bad(self):
620
 
        self.backend.create_message('a', 'q', 'm', 'test')
621
 
        attributes = dict(ttl=100, hide=200)
622
 
        filters = dict(detail='bad')
623
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
624
 
        self.assertRaises(burrow.backend.InvalidArguments, list, messages)
625
 
        self.delete_messages()
626
 
 
627
 
    def test_messages_update_marker(self):
628
 
        self.backend.create_message('a', 'q', 'm1', 'test')
629
 
        self.backend.create_message('a', 'q', 'm2', 'test')
630
 
        self.backend.create_message('a', 'q', 'm3', 'test')
631
 
        attributes = dict(ttl=100, hide=200)
632
 
        filters = dict(detail='all', match_hidden=True)
633
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
634
 
        messages = list(messages)
635
 
        self.assertEquals(3, len(messages))
636
 
        filters.update(marker=messages[0]['id'])
637
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
638
 
        self.assertEquals(messages[1:], list(messages2))
639
 
        filters.update(marker=messages[1]['id'])
640
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
641
 
        self.assertEquals(messages[2:], list(messages2))
642
 
        filters.update(marker=messages[2]['id'])
643
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
644
 
        self.assertRaises(burrow.backend.NotFound, list, messages2)
645
 
        filters = dict(detail='all', marker='unknown', match_hidden=True)
646
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
647
 
        self.assertEquals(messages, list(messages2))
648
 
        self.delete_messages()
649
 
 
650
 
    def test_messages_update_limit(self):
651
 
        self.backend.create_message('a', 'q', 'm1', 'test')
652
 
        self.backend.create_message('a', 'q', 'm2', 'test')
653
 
        self.backend.create_message('a', 'q', 'm3', 'test')
654
 
        attributes = dict(ttl=100, hide=200)
655
 
        filters = dict(detail='all', match_hidden=True)
656
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
657
 
        messages = list(messages)
658
 
        self.assertEquals(3, len(messages))
659
 
        filters.update(limit=1)
660
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
661
 
        self.assertEquals(messages[:1], list(messages2))
662
 
        filters.update(limit=2)
663
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
664
 
        self.assertEquals(messages[:2], list(messages2))
665
 
        filters.update(limit=3)
666
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
667
 
        self.assertEquals(messages, list(messages2))
668
 
        filters.update(limit=100)
669
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
670
 
        self.assertEquals(messages, list(messages2))
671
 
        self.delete_messages()
672
 
 
673
 
    def test_messages_update_marker_limit(self):
674
 
        self.backend.create_message('a', 'q', 'm1', 'test')
675
 
        self.backend.create_message('a', 'q', 'm2', 'test')
676
 
        self.backend.create_message('a', 'q', 'm3', 'test')
677
 
        attributes = dict(ttl=100, hide=200)
678
 
        filters = dict(detail='all', match_hidden=True)
679
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
680
 
        messages = list(messages)
681
 
        self.assertEquals(3, len(messages))
682
 
        filters.update(marker=messages[1]['id'], limit=1)
683
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
684
 
        self.assertEquals(messages[2:3], list(messages2))
685
 
        filters.update(marker=messages[0]['id'], limit=2)
686
 
        messages2 = self.backend.update_messages('a', 'q', attributes, filters)
687
 
        self.assertEquals(messages[1:3], list(messages2))
688
 
        self.delete_messages()
689
 
 
690
 
    def test_message(self):
691
 
        self.backend.create_message('a', 'q', 'm', 'test')
692
 
        message = self.backend.get_message('a', 'q', 'm')
693
 
        self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message)
694
 
        attributes = dict(ttl=100, hide=200)
695
 
        message = self.backend.update_message('a', 'q', 'm', attributes)
696
 
        attributes = dict(ttl=0, hide=0)
697
 
        message = self.backend.update_message('a', 'q', 'm', attributes)
698
 
        self.assertEquals(None, message)
699
 
        message = self.backend.update_message('a', 'q', 'm', dict())
700
 
        self.assertEquals(None, message)
701
 
        message = self.backend.delete_message('a', 'q', 'm')
702
 
        self.assertEquals(None, message)
703
 
 
704
 
    def test_message_create(self):
705
 
        created = self.backend.create_message('a', 'q', 'm', 'test1')
706
 
        self.assertEquals(created, True)
707
 
        message = self.backend.get_message('a', 'q', 'm')
708
 
        self.assertEquals(dict(id='m', ttl=0, hide=0, body='test1'), message)
709
 
        attributes = dict(ttl=100, hide=200)
710
 
        created = self.backend.create_message('a', 'q', 'm', 'test2',
711
 
            attributes)
712
 
        self.assertEquals(created, False)
713
 
        message = self.backend.get_message('a', 'q', 'm')
714
 
        self.assertEquals(dict(id='m', ttl=100, hide=200, body='test2'),
715
 
            message)
716
 
        attributes = dict(ttl=0, hide=0)
717
 
        created = self.backend.create_message('a', 'q', 'm', 'test3',
718
 
            attributes)
719
 
        self.assertEquals(created, False)
720
 
        message = self.backend.get_message('a', 'q', 'm')
721
 
        self.assertEquals(dict(id='m', ttl=0, hide=0, body='test3'), message)
722
 
 
723
 
        self.delete_messages()
724
 
 
725
 
    def test_message_delete_detail_all(self):
726
 
        self.backend.create_message('a', 'q', 'm', 'test')
727
 
        filters = dict(detail='all')
728
 
        message = self.backend.delete_message('a', 'q', 'm', filters)
729
 
        self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message)
730
 
 
731
 
    def test_message_delete_detail_attributes(self):
732
 
        self.backend.create_message('a', 'q', 'm', 'test')
733
 
        filters = dict(detail='attributes')
734
 
        message = self.backend.delete_message('a', 'q', 'm', filters)
735
 
        self.assertEquals(dict(id='m', ttl=0, hide=0), message)
736
 
 
737
 
    def test_message_delete_detail_body(self):
738
 
        self.backend.create_message('a', 'q', 'm', 'test')
739
 
        filters = dict(detail='body')
740
 
        message = self.backend.delete_message('a', 'q', 'm', filters)
741
 
        self.assertEquals('test', message)
742
 
 
743
 
    def test_message_delete_detail_id(self):
744
 
        self.backend.create_message('a', 'q', 'm', 'test')
745
 
        filters = dict(detail='id')
746
 
        message = self.backend.delete_message('a', 'q', 'm', filters)
747
 
        self.assertEquals('m', message)
748
 
 
749
 
    def test_message_delete_detail_none(self):
750
 
        self.backend.create_message('a', 'q', 'm', 'test')
751
 
        filters = dict(detail='none')
752
 
        message = self.backend.delete_message('a', 'q', 'm', filters)
753
 
        self.assertEquals(None, message)
754
 
 
755
 
    def test_message_delete_detail_bad(self):
756
 
        self.backend.create_message('a', 'q', 'm', 'test')
757
 
        filters = dict(detail='bad')
758
 
        self.assertRaises(burrow.backend.InvalidArguments,
759
 
            self.backend.delete_message, 'a', 'q', 'm', filters)
760
 
        self.delete_messages()
761
 
 
762
 
    def test_message_get_detail_all(self):
763
 
        self.backend.create_message('a', 'q', 'm', 'test')
764
 
        filters = dict(detail='all')
765
 
        message = self.backend.get_message('a', 'q', 'm', filters)
766
 
        self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message)
767
 
        self.delete_messages()
768
 
 
769
 
    def test_message_get_detail_attributes(self):
770
 
        self.backend.create_message('a', 'q', 'm', 'test')
771
 
        filters = dict(detail='attributes')
772
 
        message = self.backend.get_message('a', 'q', 'm', filters)
773
 
        self.assertEquals(dict(id='m', ttl=0, hide=0), message)
774
 
        self.delete_messages()
775
 
 
776
 
    def test_message_get_detail_body(self):
777
 
        self.backend.create_message('a', 'q', 'm', 'test')
778
 
        filters = dict(detail='body')
779
 
        message = self.backend.get_message('a', 'q', 'm', filters)
780
 
        self.assertEquals('test', message)
781
 
        self.delete_messages()
782
 
 
783
 
    def test_message_get_detail_id(self):
784
 
        self.backend.create_message('a', 'q', 'm', 'test')
785
 
        filters = dict(detail='id')
786
 
        message = self.backend.get_message('a', 'q', 'm', filters)
787
 
        self.assertEquals('m', message)
788
 
        self.delete_messages()
789
 
 
790
 
    def test_message_get_detail_none(self):
791
 
        self.backend.create_message('a', 'q', 'm', 'test')
792
 
        filters = dict(detail='none')
793
 
        message = self.backend.get_message('a', 'q', 'm', filters)
794
 
        self.assertEquals(None, message)
795
 
        self.delete_messages()
796
 
 
797
 
    def test_message_get_detail_bad(self):
798
 
        self.backend.create_message('a', 'q', 'm', 'test')
799
 
        filters = dict(detail='bad')
800
 
        self.assertRaises(burrow.backend.InvalidArguments,
801
 
            self.backend.get_message, 'a', 'q', 'm', filters)
802
 
        self.delete_messages()
803
 
 
804
 
    def test_message_update_detail_all(self):
805
 
        self.backend.create_message('a', 'q', 'm', 'test')
806
 
        attributes = dict(ttl=100, hide=200)
807
 
        filters = dict(detail='all')
808
 
        message = self.backend.update_message('a', 'q', 'm', attributes,
809
 
            filters)
810
 
        self.assertEquals(dict(id='m', ttl=100, hide=200, body='test'),
811
 
            message)
812
 
        self.delete_messages()
813
 
 
814
 
    def test_message_update_detail_attributes(self):
815
 
        self.backend.create_message('a', 'q', 'm', 'test')
816
 
        attributes = dict(ttl=100, hide=200)
817
 
        filters = dict(detail='attributes')
818
 
        message = self.backend.update_message('a', 'q', 'm', attributes,
819
 
            filters)
820
 
        self.assertEquals(dict(id='m', ttl=100, hide=200), message)
821
 
        self.delete_messages()
822
 
 
823
 
    def test_message_update_detail_body(self):
824
 
        self.backend.create_message('a', 'q', 'm', 'test')
825
 
        attributes = dict(ttl=100, hide=200)
826
 
        filters = dict(detail='body')
827
 
        message = self.backend.update_message('a', 'q', 'm', attributes,
828
 
            filters)
829
 
        self.assertEquals('test', message)
830
 
        self.delete_messages()
831
 
 
832
 
    def test_message_update_detail_id(self):
833
 
        self.backend.create_message('a', 'q', 'm', 'test')
834
 
        attributes = dict(ttl=100, hide=200)
835
 
        filters = dict(detail='id')
836
 
        message = self.backend.update_message('a', 'q', 'm', attributes,
837
 
            filters)
838
 
        self.assertEquals('m', message)
839
 
        self.delete_messages()
840
 
 
841
 
    def test_message_update_detail_none(self):
842
 
        self.backend.create_message('a', 'q', 'm', 'test')
843
 
        attributes = dict(ttl=100, hide=200)
844
 
        filters = dict(detail='none')
845
 
        message = self.backend.update_message('a', 'q', 'm', attributes,
846
 
            filters)
847
 
        self.assertEquals(None, message)
848
 
        self.delete_messages()
849
 
 
850
 
    def test_message_update_detail_bad(self):
851
 
        self.backend.create_message('a', 'q', 'm', 'test')
852
 
        attributes = dict(ttl=100, hide=200)
853
 
        filters = dict(detail='bad')
854
 
        self.assertRaises(burrow.backend.InvalidArguments,
855
 
            self.backend.update_message, 'a', 'q', 'm', attributes, filters)
856
 
        self.delete_messages()
857
 
 
858
 
    def test_message_ttl(self):
859
 
        attributes = dict(ttl=1)
860
 
        self.backend.create_message('a', 'q', 'm', 'test', attributes)
861
 
        time.sleep(2)
862
 
        self.backend.clean()
863
 
 
864
 
    def test_message_ttl_large(self):
865
 
        attributes = dict(ttl=1)
866
 
        for x in xrange(0, 1000):
867
 
            self.backend.create_message('a', 'q', str(x), str(x), attributes)
868
 
        time.sleep(2)
869
 
        self.backend.clean()
870
 
 
871
 
    def test_message_hide(self):
872
 
        attributes = dict(hide=1)
873
 
        self.backend.create_message('a', 'q', 'm', 'test', attributes)
874
 
        time.sleep(2)
875
 
        self.backend.clean()
876
 
        message = self.backend.get_message('a', 'q', 'm')
877
 
        self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message)
878
 
        self.delete_messages()
879
 
 
880
 
    def test_message_hide_large(self):
881
 
        attributes = dict(hide=1)
882
 
        for x in xrange(0, 1000):
883
 
            self.backend.create_message('a', 'q', str(x), str(x), attributes)
884
 
        time.sleep(2)
885
 
        self.backend.clean()
886
 
        message = self.backend.get_message('a', 'q', '0')
887
 
        self.assertEquals(dict(id='0', ttl=0, hide=0, body='0'), message)
888
 
        self.delete_messages()
889
 
 
890
 
    def test_message_create_wait(self):
891
 
        self.success = False
892
 
        thread = eventlet.spawn(self.get_messages)
893
 
        eventlet.spawn_after(0.2,
894
 
            self.backend.create_message, 'a', 'q', 'm', 'test')
895
 
        thread.wait()
896
 
        self.assertTrue(self.success)
897
 
        self.delete_messages()
898
 
 
899
 
    def test_message_update_wait(self):
900
 
        attributes = dict(hide=100)
901
 
        self.backend.create_message('a', 'q', 'm', 'test', attributes)
902
 
        self.success = False
903
 
        thread = eventlet.spawn(self.get_messages)
904
 
        attributes = dict(hide=0)
905
 
        eventlet.spawn_after(0.2,
906
 
            self.backend.update_message, 'a', 'q', 'm', attributes)
907
 
        thread.wait()
908
 
        self.assertTrue(self.success)
909
 
        self.delete_messages()
910
 
 
911
 
    def test_messages_update_wait(self):
912
 
        attributes = dict(hide=100)
913
 
        self.backend.create_message('a', 'q', 'm', 'test', attributes)
914
 
        self.success = False
915
 
        thread = eventlet.spawn(self.get_messages)
916
 
        attributes = dict(hide=0)
917
 
        filters = dict(match_hidden=True)
918
 
        messages = self.backend.update_messages('a', 'q', attributes, filters)
919
 
        eventlet.spawn_after(0.2, list, messages)
920
 
        thread.wait()
921
 
        self.assertTrue(self.success)
922
 
        self.delete_messages()
923
 
 
924
 
    def delete_messages(self):
925
 
        filters = dict(match_hidden=True)
926
 
        messages = list(self.backend.delete_messages('a', 'q', filters))
927
 
        self.assertEquals([], messages)
928
 
 
929
 
    def get_messages(self):
930
 
        message = dict(id='m', ttl=0, hide=0, body='test')
931
 
        filters = dict(wait=2)
932
 
        messages = list(self.backend.get_messages('a', 'q', filters))
933
 
        self.assertEquals([message], messages)
934
 
        self.success = True
 
31
 
 
32
class TestMemoryAccounts(MemoryBase, test.backend.TestAccounts):
 
33
    '''Test case for accounts with memory backend.'''
 
34
    pass
 
35
 
 
36
 
 
37
class TestMemoryQueues(MemoryBase, test.backend.TestQueues):
 
38
    '''Test case for queues with memory backend.'''
 
39
    pass
 
40
 
 
41
 
 
42
class TestMemoryMessages(MemoryBase, test.backend.TestMessages):
 
43
    '''Test case for messages with memory backend.'''
 
44
    pass
 
45
 
 
46
 
 
47
class TestMemoryMessage(MemoryBase, test.backend.TestMessage):
 
48
    '''Test case for message with memory backend.'''
 
49
    pass