Status: | Merged |
---|---|
Approved by: | Eric Day |
Approved revision: | 34 |
Merged at revision: | 34 |
Proposed branch: | lp:~eday/burrow/doc-updates |
Merge into: | lp:burrow |
Diff against target: |
2159 lines (+1109/-943) 6 files modified
.pylintrc (+5/-0) test/__init__.py (+15/-0) test/backend/__init__.py (+963/-0) test/backend/test_http.py (+50/-24) test/backend/test_memory.py (+27/-912) test/backend/test_sqlite.py (+49/-7) |
To merge this branch: | bzr merge lp:~eday/burrow/doc-updates |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Burrow Core Team | Pending | ||
Review via email: mp+71777@code.launchpad.net |
Commit message
Description of the change
Test case cleanup, moved backend base test cases to test.backend (out of memory test).
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file '.pylintrc' |
2 | --- .pylintrc 2011-04-20 05:14:30 +0000 |
3 | +++ .pylintrc 2011-08-16 21:02:23 +0000 |
4 | @@ -1,5 +1,10 @@ |
5 | +[Basic] |
6 | +method-rgx=([a-z_][a-z0-9_]{2,30}$)|setUp|tearDown |
7 | +no-docstring-rgx=(__.*__)|(test_.*) |
8 | + |
9 | [Design] |
10 | min-public-methods=0 |
11 | +max-public-methods=80 |
12 | |
13 | [Messages Control] |
14 | # W0142: Allow use of *args and **kwargs |
15 | |
16 | === modified file 'test/__init__.py' |
17 | --- test/__init__.py 2011-03-17 23:42:41 +0000 |
18 | +++ test/__init__.py 2011-08-16 21:02:23 +0000 |
19 | @@ -0,0 +1,15 @@ |
20 | +# Copyright (C) 2011 OpenStack LLC. |
21 | +# |
22 | +# Licensed under the Apache License, Version 2.0 (the "License"); |
23 | +# you may not use this file except in compliance with the License. |
24 | +# You may obtain a copy of the License at |
25 | +# |
26 | +# http://www.apache.org/licenses/LICENSE-2.0 |
27 | +# |
28 | +# Unless required by applicable law or agreed to in writing, software |
29 | +# distributed under the License is distributed on an "AS IS" BASIS, |
30 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
31 | +# See the License for the specific language governing permissions and |
32 | +# limitations under the License. |
33 | + |
34 | +'''Unittests for burrow.''' |
35 | |
36 | === modified file 'test/backend/__init__.py' |
37 | --- test/backend/__init__.py 2011-06-10 21:36:49 +0000 |
38 | +++ test/backend/__init__.py 2011-08-16 21:02:23 +0000 |
39 | @@ -0,0 +1,963 @@ |
40 | +# Copyright (C) 2011 OpenStack LLC. |
41 | +# |
42 | +# Licensed under the Apache License, Version 2.0 (the "License"); |
43 | +# you may not use this file except in compliance with the License. |
44 | +# You may obtain a copy of the License at |
45 | +# |
46 | +# http://www.apache.org/licenses/LICENSE-2.0 |
47 | +# |
48 | +# Unless required by applicable law or agreed to in writing, software |
49 | +# distributed under the License is distributed on an "AS IS" BASIS, |
50 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
51 | +# See the License for the specific language governing permissions and |
52 | +# limitations under the License. |
53 | + |
54 | +'''Unittests for burrow backends.''' |
55 | + |
56 | +import time |
57 | +import unittest |
58 | + |
59 | +import eventlet |
60 | +eventlet.monkey_patch(socket=True) |
61 | + |
62 | +import burrow.backend |
63 | + |
64 | + |
65 | +class Base(unittest.TestCase): |
66 | + '''Base test case.''' |
67 | + |
68 | + def __init__(self, *args, **kwargs): |
69 | + super(Base, self).__init__(*args, **kwargs) |
70 | + self.backend = None |
71 | + self.success = False |
72 | + |
73 | + def setUp(self): |
74 | + self.check_empty() |
75 | + |
76 | + def tearDown(self): |
77 | + self.check_empty() |
78 | + |
79 | + def check_empty(self): |
80 | + '''Ensure the backend is empty before, used before and after |
81 | + each test.''' |
82 | + accounts = self.backend.get_accounts() |
83 | + self.assertRaises(burrow.backend.NotFound, list, accounts) |
84 | + queues = self.backend.get_queues('a') |
85 | + self.assertRaises(burrow.backend.NotFound, list, queues) |
86 | + filters = dict(match_hidden=True) |
87 | + messages = self.backend.get_messages('a', 'q', filters) |
88 | + self.assertRaises(burrow.backend.NotFound, list, messages) |
89 | + |
90 | + def delete_messages(self): |
91 | + '''Delete messages, including those that are hidden. Use |
92 | + after tests that don't need to delete.''' |
93 | + filters = dict(match_hidden=True) |
94 | + messages = list(self.backend.delete_messages('a', 'q', filters)) |
95 | + self.assertEquals([], messages) |
96 | + |
97 | + def get_messages(self): |
98 | + '''Get messages and ensure it is correct. Used for concurrent |
99 | + tests as an eventlet thread.''' |
100 | + message = dict(id='m', ttl=0, hide=0, body='test') |
101 | + filters = dict(wait=2) |
102 | + messages = list(self.backend.get_messages('a', 'q', filters)) |
103 | + self.assertEquals([message], messages) |
104 | + self.success = True |
105 | + |
106 | + |
107 | +class TestAccounts(Base): |
108 | + '''Test case for accounts.''' |
109 | + |
110 | + def test_basic(self): |
111 | + self.backend.create_message('a', 'q', 'm', 'test') |
112 | + self.assertEquals(['a'], list(self.backend.get_accounts())) |
113 | + self.assertEquals([], list(self.backend.delete_accounts())) |
114 | + accounts = self.backend.delete_accounts() |
115 | + self.assertRaises(burrow.backend.NotFound, list, accounts) |
116 | + |
117 | + def test_large(self): |
118 | + for name in xrange(0, 1000): |
119 | + name = str(name) |
120 | + self.backend.create_message(name, name, name, name) |
121 | + filters = dict(marker='unknown') |
122 | + self.assertEquals([], list(self.backend.delete_accounts(filters))) |
123 | + |
124 | + def test_delete_detail_all(self): |
125 | + self.backend.create_message('a', 'q', 'm', 'test') |
126 | + filters = dict(detail='all') |
127 | + accounts = list(self.backend.delete_accounts(filters)) |
128 | + self.assertEquals([dict(id='a')], accounts) |
129 | + |
130 | + def test_delete_detail_id(self): |
131 | + self.backend.create_message('a', 'q', 'm', 'test') |
132 | + filters = dict(detail='id') |
133 | + accounts = list(self.backend.delete_accounts(filters)) |
134 | + self.assertEquals(['a'], accounts) |
135 | + |
136 | + def test_delete_detail_none(self): |
137 | + self.backend.create_message('a', 'q', 'm', 'test') |
138 | + filters = dict(detail='none') |
139 | + accounts = list(self.backend.delete_accounts(filters)) |
140 | + self.assertEquals([], accounts) |
141 | + |
142 | + def test_delete_detail_bad(self): |
143 | + self.backend.create_message('a', 'q', 'm', 'test') |
144 | + filters = dict(detail='bad') |
145 | + accounts = self.backend.delete_accounts(filters) |
146 | + self.assertRaises(burrow.backend.InvalidArguments, list, accounts) |
147 | + self.assertEquals([], list(self.backend.delete_accounts())) |
148 | + |
149 | + def test_delete_marker(self): |
150 | + self.backend.create_message('a1', 'q', 'm', 'test') |
151 | + self.backend.create_message('a2', 'q', 'm', 'test') |
152 | + self.backend.create_message('a3', 'q', 'm', 'test') |
153 | + accounts = list(self.backend.get_accounts()) |
154 | + self.assertEquals(3, len(accounts)) |
155 | + filters = dict(detail='id', marker=accounts[0]) |
156 | + accounts2 = list(self.backend.delete_accounts(filters)) |
157 | + self.assertEquals(accounts[1:], accounts2) |
158 | + accounts2 = list(self.backend.get_accounts()) |
159 | + self.assertEquals(accounts[:1], accounts2) |
160 | + filters = dict(detail='id', marker='unknown') |
161 | + accounts2 = list(self.backend.delete_accounts(filters)) |
162 | + self.assertEquals(accounts[:1], accounts2) |
163 | + |
164 | + def test_delete_limit(self): |
165 | + self.backend.create_message('a1', 'q', 'm', 'test') |
166 | + self.backend.create_message('a2', 'q', 'm', 'test') |
167 | + self.backend.create_message('a3', 'q', 'm', 'test') |
168 | + accounts = list(self.backend.get_accounts()) |
169 | + self.assertEquals(3, len(accounts)) |
170 | + filters = dict(detail='id', limit=1) |
171 | + accounts2 = list(self.backend.delete_accounts(filters)) |
172 | + self.assertEquals(accounts[:1], accounts2) |
173 | + filters = dict(detail='id', limit=2) |
174 | + accounts2 = list(self.backend.delete_accounts(filters)) |
175 | + self.assertEquals(accounts[1:3], accounts2) |
176 | + |
177 | + def test_delete_marker_limit(self): |
178 | + self.backend.create_message('a1', 'q', 'm', 'test') |
179 | + self.backend.create_message('a2', 'q', 'm', 'test') |
180 | + self.backend.create_message('a3', 'q', 'm', 'test') |
181 | + accounts = list(self.backend.get_accounts()) |
182 | + self.assertEquals(3, len(accounts)) |
183 | + filters = dict(detail='id', marker=accounts[1], limit=1) |
184 | + accounts2 = list(self.backend.delete_accounts(filters)) |
185 | + self.assertEquals(accounts[2:3], accounts2) |
186 | + filters = dict(detail='id', marker=accounts[0], limit=2) |
187 | + accounts2 = list(self.backend.delete_accounts(filters)) |
188 | + self.assertEquals(accounts[1:2], accounts2) |
189 | + self.assertEquals([], list(self.backend.delete_accounts())) |
190 | + |
191 | + def test_get_detail_all(self): |
192 | + self.backend.create_message('a', 'q', 'm', 'test') |
193 | + filters = dict(detail='all') |
194 | + accounts = list(self.backend.get_accounts(filters)) |
195 | + self.assertEquals([dict(id='a')], accounts) |
196 | + self.assertEquals([], list(self.backend.delete_accounts())) |
197 | + |
198 | + def test_get_detail_id(self): |
199 | + self.backend.create_message('a', 'q', 'm', 'test') |
200 | + filters = dict(detail='id') |
201 | + accounts = list(self.backend.get_accounts(filters)) |
202 | + self.assertEquals(['a'], accounts) |
203 | + self.assertEquals([], list(self.backend.delete_accounts())) |
204 | + |
205 | + def test_get_detail_none(self): |
206 | + self.backend.create_message('a', 'q', 'm', 'test') |
207 | + filters = dict(detail='none') |
208 | + accounts = list(self.backend.get_accounts(filters)) |
209 | + self.assertEquals([], accounts) |
210 | + self.assertEquals([], list(self.backend.delete_accounts())) |
211 | + |
212 | + def test_get_detail_bad(self): |
213 | + self.backend.create_message('a', 'q', 'm', 'test') |
214 | + filters = dict(detail='bad') |
215 | + accounts = self.backend.get_accounts(filters) |
216 | + self.assertRaises(burrow.backend.InvalidArguments, list, accounts) |
217 | + self.assertEquals([], list(self.backend.delete_accounts())) |
218 | + |
219 | + def test_get_marker(self): |
220 | + self.backend.create_message('a1', 'q', 'm', 'test') |
221 | + self.backend.create_message('a2', 'q', 'm', 'test') |
222 | + self.backend.create_message('a3', 'q', 'm', 'test') |
223 | + accounts = list(self.backend.get_accounts()) |
224 | + self.assertEquals(3, len(accounts)) |
225 | + filters = dict(marker=accounts[0]) |
226 | + accounts2 = list(self.backend.get_accounts(filters)) |
227 | + self.assertEquals(accounts[1:], accounts2) |
228 | + filters = dict(marker=accounts[1]) |
229 | + accounts2 = list(self.backend.get_accounts(filters)) |
230 | + self.assertEquals(accounts[2:], accounts2) |
231 | + filters = dict(marker=accounts[2]) |
232 | + accounts2 = self.backend.get_accounts(filters) |
233 | + self.assertRaises(burrow.backend.NotFound, list, accounts2) |
234 | + filters = dict(marker='unknown') |
235 | + accounts2 = list(self.backend.get_accounts(filters)) |
236 | + self.assertEquals(accounts, accounts2) |
237 | + self.assertEquals([], list(self.backend.delete_accounts())) |
238 | + |
239 | + def test_get_limit(self): |
240 | + self.backend.create_message('a1', 'q', 'm', 'test') |
241 | + self.backend.create_message('a2', 'q', 'm', 'test') |
242 | + self.backend.create_message('a3', 'q', 'm', 'test') |
243 | + accounts = list(self.backend.get_accounts()) |
244 | + self.assertEquals(3, len(accounts)) |
245 | + filters = dict(limit=1) |
246 | + accounts2 = list(self.backend.get_accounts(filters)) |
247 | + self.assertEquals(accounts[:1], accounts2) |
248 | + filters = dict(limit=2) |
249 | + accounts2 = list(self.backend.get_accounts(filters)) |
250 | + self.assertEquals(accounts[:2], accounts2) |
251 | + filters = dict(limit=3) |
252 | + accounts2 = list(self.backend.get_accounts(filters)) |
253 | + self.assertEquals(accounts, accounts2) |
254 | + filters = dict(limit=100) |
255 | + accounts2 = list(self.backend.get_accounts(filters)) |
256 | + self.assertEquals(accounts, accounts2) |
257 | + self.assertEquals([], list(self.backend.delete_accounts())) |
258 | + |
259 | + def test_get_marker_limit(self): |
260 | + self.backend.create_message('a1', 'q', 'm', 'test') |
261 | + self.backend.create_message('a2', 'q', 'm', 'test') |
262 | + self.backend.create_message('a3', 'q', 'm', 'test') |
263 | + accounts = list(self.backend.get_accounts()) |
264 | + self.assertEquals(3, len(accounts)) |
265 | + filters = dict(marker=accounts[1], limit=1) |
266 | + accounts2 = list(self.backend.get_accounts(filters)) |
267 | + self.assertEquals(accounts[2:3], accounts2) |
268 | + filters = dict(marker=accounts[0], limit=2) |
269 | + accounts2 = list(self.backend.get_accounts(filters)) |
270 | + self.assertEquals(accounts[1:3], accounts2) |
271 | + self.assertEquals([], list(self.backend.delete_accounts())) |
272 | + |
273 | + |
274 | +class TestQueues(Base): |
275 | + '''Test case for queues.''' |
276 | + |
277 | + def test_basic(self): |
278 | + self.backend.create_message('a', 'q', 'm', 'test') |
279 | + self.assertEquals(['q'], list(self.backend.get_queues('a'))) |
280 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
281 | + queues = self.backend.delete_queues('a') |
282 | + self.assertRaises(burrow.backend.NotFound, list, queues) |
283 | + |
284 | + def test_large(self): |
285 | + for name in xrange(0, 1000): |
286 | + name = str(name) |
287 | + self.backend.create_message('a', name, name, name) |
288 | + filters = dict(marker='unknown') |
289 | + self.assertEquals([], list(self.backend.delete_queues('a', filters))) |
290 | + |
291 | + def test_delete_detail_all(self): |
292 | + self.backend.create_message('a', 'q', 'm', 'test') |
293 | + filters = dict(detail='all') |
294 | + queues = list(self.backend.delete_queues('a', filters)) |
295 | + self.assertEquals([dict(id='q')], queues) |
296 | + |
297 | + def test_delete_detail_id(self): |
298 | + self.backend.create_message('a', 'q', 'm', 'test') |
299 | + filters = dict(detail='id') |
300 | + queues = list(self.backend.delete_queues('a', filters)) |
301 | + self.assertEquals(['q'], queues) |
302 | + |
303 | + def test_delete_detail_none(self): |
304 | + self.backend.create_message('a', 'q', 'm', 'test') |
305 | + filters = dict(detail='none') |
306 | + queues = list(self.backend.delete_queues('a', filters)) |
307 | + self.assertEquals([], queues) |
308 | + |
309 | + def test_delete_detail_bad(self): |
310 | + self.backend.create_message('a', 'q', 'm', 'test') |
311 | + filters = dict(detail='bad') |
312 | + queues = self.backend.delete_queues('a', filters) |
313 | + self.assertRaises(burrow.backend.InvalidArguments, list, queues) |
314 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
315 | + |
316 | + def test_delete_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(detail='id', marker=queues[0]) |
323 | + queues2 = list(self.backend.delete_queues('a', filters)) |
324 | + self.assertEquals(queues[1:], queues2) |
325 | + queues2 = list(self.backend.get_queues('a')) |
326 | + self.assertEquals(queues[:1], queues2) |
327 | + filters = dict(detail='id', marker='unknown') |
328 | + queues2 = list(self.backend.delete_queues('a', filters)) |
329 | + self.assertEquals(queues[:1], queues2) |
330 | + |
331 | + def test_delete_limit(self): |
332 | + self.backend.create_message('a', 'q1', 'm', 'test') |
333 | + self.backend.create_message('a', 'q2', 'm', 'test') |
334 | + self.backend.create_message('a', 'q3', 'm', 'test') |
335 | + queues = list(self.backend.get_queues('a')) |
336 | + self.assertEquals(3, len(queues)) |
337 | + filters = dict(detail='id', limit=1) |
338 | + queues2 = list(self.backend.delete_queues('a', filters)) |
339 | + self.assertEquals(queues[:1], queues2) |
340 | + filters = dict(detail='id', limit=2) |
341 | + queues2 = list(self.backend.delete_queues('a', filters)) |
342 | + self.assertEquals(queues[1:3], queues2) |
343 | + |
344 | + def test_delete_marker_limit(self): |
345 | + self.backend.create_message('a', 'q1', 'm', 'test') |
346 | + self.backend.create_message('a', 'q2', 'm', 'test') |
347 | + self.backend.create_message('a', 'q3', 'm', 'test') |
348 | + queues = list(self.backend.get_queues('a')) |
349 | + self.assertEquals(3, len(queues)) |
350 | + filters = dict(detail='id', marker=queues[1], limit=1) |
351 | + queues2 = list(self.backend.delete_queues('a', filters)) |
352 | + self.assertEquals(queues[2:3], queues2) |
353 | + filters = dict(detail='id', marker=queues[0], limit=2) |
354 | + queues2 = list(self.backend.delete_queues('a', filters)) |
355 | + self.assertEquals(queues[1:2], queues2) |
356 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
357 | + |
358 | + def test_get_detail_all(self): |
359 | + self.backend.create_message('a', 'q', 'm', 'test') |
360 | + filters = dict(detail='all') |
361 | + queues = list(self.backend.get_queues('a', filters)) |
362 | + self.assertEquals([dict(id='q')], queues) |
363 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
364 | + |
365 | + def test_get_detail_id(self): |
366 | + self.backend.create_message('a', 'q', 'm', 'test') |
367 | + filters = dict(detail='id') |
368 | + queues = list(self.backend.get_queues('a', filters)) |
369 | + self.assertEquals(['q'], queues) |
370 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
371 | + |
372 | + def test_get_detail_none(self): |
373 | + self.backend.create_message('a', 'q', 'm', 'test') |
374 | + filters = dict(detail='none') |
375 | + queues = list(self.backend.get_queues('a', filters)) |
376 | + self.assertEquals([], queues) |
377 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
378 | + |
379 | + def test_get_detail_bad(self): |
380 | + self.backend.create_message('a', 'q', 'm', 'test') |
381 | + filters = dict(detail='bad') |
382 | + queues = self.backend.get_queues('a', filters) |
383 | + self.assertRaises(burrow.backend.InvalidArguments, list, queues) |
384 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
385 | + |
386 | + def test_get_marker(self): |
387 | + self.backend.create_message('a', 'q1', 'm', 'test') |
388 | + self.backend.create_message('a', 'q2', 'm', 'test') |
389 | + self.backend.create_message('a', 'q3', 'm', 'test') |
390 | + queues = list(self.backend.get_queues('a')) |
391 | + self.assertEquals(3, len(queues)) |
392 | + filters = dict(marker=queues[0]) |
393 | + queues2 = list(self.backend.get_queues('a', filters)) |
394 | + self.assertEquals(queues[1:], queues2) |
395 | + filters = dict(marker=queues[1]) |
396 | + queues2 = list(self.backend.get_queues('a', filters)) |
397 | + self.assertEquals(queues[2:], queues2) |
398 | + filters = dict(marker=queues[2]) |
399 | + queues2 = self.backend.get_queues('a', filters) |
400 | + self.assertRaises(burrow.backend.NotFound, list, queues2) |
401 | + filters = dict(marker='unknown') |
402 | + queues2 = list(self.backend.get_queues('a', filters)) |
403 | + self.assertEquals(queues, queues2) |
404 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
405 | + |
406 | + def test_get_limit(self): |
407 | + self.backend.create_message('a', 'q1', 'm', 'test') |
408 | + self.backend.create_message('a', 'q2', 'm', 'test') |
409 | + self.backend.create_message('a', 'q3', 'm', 'test') |
410 | + queues = list(self.backend.get_queues('a')) |
411 | + self.assertEquals(3, len(queues)) |
412 | + filters = dict(limit=1) |
413 | + queues2 = list(self.backend.get_queues('a', filters)) |
414 | + self.assertEquals(queues[:1], queues2) |
415 | + filters = dict(limit=2) |
416 | + queues2 = list(self.backend.get_queues('a', filters)) |
417 | + self.assertEquals(queues[:2], queues2) |
418 | + filters = dict(limit=3) |
419 | + queues2 = list(self.backend.get_queues('a', filters)) |
420 | + self.assertEquals(queues, queues2) |
421 | + filters = dict(limit=100) |
422 | + queues2 = list(self.backend.get_queues('a', filters)) |
423 | + self.assertEquals(queues, queues2) |
424 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
425 | + |
426 | + def test_get_marker_limit(self): |
427 | + self.backend.create_message('a', 'q1', 'm', 'test') |
428 | + self.backend.create_message('a', 'q2', 'm', 'test') |
429 | + self.backend.create_message('a', 'q3', 'm', 'test') |
430 | + queues = list(self.backend.get_queues('a')) |
431 | + self.assertEquals(3, len(queues)) |
432 | + filters = dict(marker=queues[1], limit=1) |
433 | + queues2 = list(self.backend.get_queues('a', filters)) |
434 | + self.assertEquals(queues[2:3], queues2) |
435 | + filters = dict(marker=queues[0], limit=2) |
436 | + queues2 = list(self.backend.get_queues('a', filters)) |
437 | + self.assertEquals(queues[1:3], queues2) |
438 | + self.assertEquals([], list(self.backend.delete_queues('a'))) |
439 | + |
440 | + |
441 | +class TestMessages(Base): |
442 | + '''Test case for messages.''' |
443 | + |
444 | + def test_basic(self): |
445 | + self.backend.create_message('a', 'q', 'm', 'test') |
446 | + message = dict(id='m', ttl=0, hide=0, body='test') |
447 | + messages = list(self.backend.get_messages('a', 'q')) |
448 | + self.assertEquals([message], messages) |
449 | + attributes = dict(ttl=100, hide=200) |
450 | + messages = list(self.backend.update_messages('a', 'q', attributes)) |
451 | + self.assertEquals([], messages) |
452 | + attributes = dict(ttl=0, hide=0) |
453 | + filters = dict(match_hidden=True) |
454 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
455 | + self.assertEquals([], list(messages)) |
456 | + messages = self.backend.update_messages('a', 'q', dict(), filters) |
457 | + self.assertEquals([], list(messages)) |
458 | + self.delete_messages() |
459 | + messages = self.backend.delete_messages('a', 'q') |
460 | + self.assertRaises(burrow.backend.NotFound, list, messages) |
461 | + messages = self.backend.update_messages('a', 'q', attributes) |
462 | + self.assertRaises(burrow.backend.NotFound, list, messages) |
463 | + |
464 | + def test_large(self): |
465 | + for name in xrange(0, 1000): |
466 | + name = str(name) |
467 | + self.backend.create_message('a', 'q', name, name) |
468 | + attributes = dict(ttl=100, hide=200) |
469 | + messages = self.backend.update_messages('a', 'q', attributes) |
470 | + self.assertEquals([], list(messages)) |
471 | + self.delete_messages() |
472 | + |
473 | + def test_delete_detail_all(self): |
474 | + self.backend.create_message('a', 'q', 'm', 'test') |
475 | + message = dict(id='m', ttl=0, hide=0, body='test') |
476 | + filters = dict(detail='all') |
477 | + messages = list(self.backend.delete_messages('a', 'q', filters)) |
478 | + self.assertEquals([message], messages) |
479 | + |
480 | + def test_delete_detail_attributes(self): |
481 | + self.backend.create_message('a', 'q', 'm', 'test') |
482 | + message = dict(id='m', ttl=0, hide=0) |
483 | + filters = dict(detail='attributes') |
484 | + messages = list(self.backend.delete_messages('a', 'q', filters)) |
485 | + self.assertEquals([message], messages) |
486 | + |
487 | + def test_delete_detail_body(self): |
488 | + self.backend.create_message('a', 'q', 'm', 'test') |
489 | + filters = dict(detail='body') |
490 | + messages = list(self.backend.delete_messages('a', 'q', filters)) |
491 | + self.assertEquals(['test'], messages) |
492 | + |
493 | + def test_delete_detail_id(self): |
494 | + self.backend.create_message('a', 'q', 'm', 'test') |
495 | + filters = dict(detail='id') |
496 | + messages = list(self.backend.delete_messages('a', 'q', filters)) |
497 | + self.assertEquals(['m'], messages) |
498 | + |
499 | + def test_delete_detail_none(self): |
500 | + self.backend.create_message('a', 'q', 'm', 'test') |
501 | + filters = dict(detail='none') |
502 | + messages = list(self.backend.delete_messages('a', 'q', filters)) |
503 | + self.assertEquals([], messages) |
504 | + |
505 | + def test_delete_detail_bad(self): |
506 | + self.backend.create_message('a', 'q', 'm', 'test') |
507 | + filters = dict(detail='bad') |
508 | + messages = self.backend.delete_messages('a', 'q', filters) |
509 | + self.assertRaises(burrow.backend.InvalidArguments, list, messages) |
510 | + self.assertEquals([], list(self.backend.delete_messages('a', 'q'))) |
511 | + |
512 | + def test_delete_marker(self): |
513 | + self.backend.create_message('a', 'q', 'm1', 'test') |
514 | + self.backend.create_message('a', 'q', 'm2', 'test') |
515 | + self.backend.create_message('a', 'q', 'm3', 'test') |
516 | + messages = list(self.backend.get_messages('a', 'q')) |
517 | + self.assertEquals(3, len(messages)) |
518 | + filters = dict(detail='all', marker=messages[0]['id']) |
519 | + messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
520 | + self.assertEquals(messages[1:], messages2) |
521 | + messages2 = list(self.backend.get_messages('a', 'q')) |
522 | + self.assertEquals(messages[:1], messages2) |
523 | + filters = dict(detail='all', marker='unknown') |
524 | + messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
525 | + self.assertEquals(messages[:1], messages2) |
526 | + |
527 | + def test_delete_limit(self): |
528 | + self.backend.create_message('a', 'q', 'm1', 'test') |
529 | + self.backend.create_message('a', 'q', 'm2', 'test') |
530 | + self.backend.create_message('a', 'q', 'm3', 'test') |
531 | + messages = list(self.backend.get_messages('a', 'q')) |
532 | + self.assertEquals(3, len(messages)) |
533 | + filters = dict(detail='all', limit=1) |
534 | + messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
535 | + self.assertEquals(messages[:1], messages2) |
536 | + filters = dict(detail='all', limit=2) |
537 | + messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
538 | + self.assertEquals(messages[1:3], messages2) |
539 | + |
540 | + def test_delete_marker_limit(self): |
541 | + self.backend.create_message('a', 'q', 'm1', 'test') |
542 | + self.backend.create_message('a', 'q', 'm2', 'test') |
543 | + self.backend.create_message('a', 'q', 'm3', 'test') |
544 | + messages = list(self.backend.get_messages('a', 'q')) |
545 | + self.assertEquals(3, len(messages)) |
546 | + filters = dict(detail='all', marker=messages[1]['id'], limit=1) |
547 | + messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
548 | + self.assertEquals(messages[2:3], messages2) |
549 | + filters = dict(detail='all', marker=messages[0]['id'], limit=2) |
550 | + messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
551 | + self.assertEquals(messages[1:2], messages2) |
552 | + self.assertEquals([], list(self.backend.delete_messages('a', 'q'))) |
553 | + |
554 | + def test_get_detail_all(self): |
555 | + self.backend.create_message('a', 'q', 'm', 'test') |
556 | + message = dict(id='m', ttl=0, hide=0, body='test') |
557 | + filters = dict(detail='all') |
558 | + messages = list(self.backend.get_messages('a', 'q', filters)) |
559 | + self.assertEquals([message], messages) |
560 | + self.delete_messages() |
561 | + |
562 | + def test_get_detail_attributes(self): |
563 | + self.backend.create_message('a', 'q', 'm', 'test') |
564 | + message = dict(id='m', ttl=0, hide=0) |
565 | + filters = dict(detail='attributes') |
566 | + messages = list(self.backend.get_messages('a', 'q', filters)) |
567 | + self.assertEquals([message], messages) |
568 | + self.delete_messages() |
569 | + |
570 | + def test_get_detail_body(self): |
571 | + self.backend.create_message('a', 'q', 'm', 'test') |
572 | + filters = dict(detail='body') |
573 | + messages = list(self.backend.get_messages('a', 'q', filters)) |
574 | + self.assertEquals(['test'], messages) |
575 | + self.delete_messages() |
576 | + |
577 | + def test_get_detail_id(self): |
578 | + self.backend.create_message('a', 'q', 'm', 'test') |
579 | + filters = dict(detail='id') |
580 | + messages = list(self.backend.get_messages('a', 'q', filters)) |
581 | + self.assertEquals(['m'], messages) |
582 | + self.delete_messages() |
583 | + |
584 | + def test_get_detail_none(self): |
585 | + self.backend.create_message('a', 'q', 'm', 'test') |
586 | + filters = dict(detail='none') |
587 | + messages = list(self.backend.get_messages('a', 'q', filters)) |
588 | + self.assertEquals([], messages) |
589 | + self.delete_messages() |
590 | + |
591 | + def test_get_detail_bad(self): |
592 | + self.backend.create_message('a', 'q', 'm', 'test') |
593 | + filters = dict(detail='bad') |
594 | + messages = self.backend.get_messages('a', 'q', filters) |
595 | + self.assertRaises(burrow.backend.InvalidArguments, list, messages) |
596 | + self.delete_messages() |
597 | + |
598 | + def test_get_marker(self): |
599 | + self.backend.create_message('a', 'q', 'm1', 'test') |
600 | + self.backend.create_message('a', 'q', 'm2', 'test') |
601 | + self.backend.create_message('a', 'q', 'm3', 'test') |
602 | + messages = list(self.backend.get_messages('a', 'q')) |
603 | + self.assertEquals(3, len(messages)) |
604 | + filters = dict(marker=messages[0]['id']) |
605 | + messages2 = list(self.backend.get_messages('a', 'q', filters)) |
606 | + self.assertEquals(messages[1:], messages2) |
607 | + filters = dict(marker=messages[1]['id']) |
608 | + messages2 = list(self.backend.get_messages('a', 'q', filters)) |
609 | + self.assertEquals(messages[2:], messages2) |
610 | + filters = dict(marker=messages[2]['id']) |
611 | + messages2 = self.backend.get_messages('a', 'q', filters) |
612 | + self.assertRaises(burrow.backend.NotFound, list, messages2) |
613 | + filters = dict(marker='unknown') |
614 | + messages2 = list(self.backend.get_messages('a', 'q', filters)) |
615 | + self.assertEquals(messages, messages2) |
616 | + self.delete_messages() |
617 | + |
618 | + def test_get_limit(self): |
619 | + self.backend.create_message('a', 'q', 'm1', 'test') |
620 | + self.backend.create_message('a', 'q', 'm2', 'test') |
621 | + self.backend.create_message('a', 'q', 'm3', 'test') |
622 | + messages = list(self.backend.get_messages('a', 'q')) |
623 | + self.assertEquals(3, len(messages)) |
624 | + filters = dict(limit=1) |
625 | + messages2 = list(self.backend.get_messages('a', 'q', filters)) |
626 | + self.assertEquals(messages[:1], messages2) |
627 | + filters = dict(limit=2) |
628 | + messages2 = list(self.backend.get_messages('a', 'q', filters)) |
629 | + self.assertEquals(messages[:2], messages2) |
630 | + filters = dict(limit=3) |
631 | + messages2 = list(self.backend.get_messages('a', 'q', filters)) |
632 | + self.assertEquals(messages, messages2) |
633 | + filters = dict(limit=100) |
634 | + messages2 = list(self.backend.get_messages('a', 'q', filters)) |
635 | + self.assertEquals(messages, messages2) |
636 | + self.delete_messages() |
637 | + |
638 | + def test_get_marker_limit(self): |
639 | + self.backend.create_message('a', 'q', 'm1', 'test') |
640 | + self.backend.create_message('a', 'q', 'm2', 'test') |
641 | + self.backend.create_message('a', 'q', 'm3', 'test') |
642 | + messages = list(self.backend.get_messages('a', 'q')) |
643 | + self.assertEquals(3, len(messages)) |
644 | + filters = dict(marker=messages[1]['id'], limit=1) |
645 | + messages2 = list(self.backend.get_messages('a', 'q', filters)) |
646 | + self.assertEquals(messages[2:3], messages2) |
647 | + filters = dict(marker=messages[0]['id'], limit=2) |
648 | + messages2 = list(self.backend.get_messages('a', 'q', filters)) |
649 | + self.assertEquals(messages[1:3], messages2) |
650 | + self.delete_messages() |
651 | + |
652 | + def test_update_detail_all(self): |
653 | + self.backend.create_message('a', 'q', 'm', 'test') |
654 | + message = dict(id='m', ttl=100, hide=200, body='test') |
655 | + attributes = dict(ttl=100, hide=200) |
656 | + filters = dict(detail='all') |
657 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
658 | + self.assertEquals([message], list(messages)) |
659 | + self.delete_messages() |
660 | + |
661 | + def test_update_detail_attributes(self): |
662 | + self.backend.create_message('a', 'q', 'm', 'test') |
663 | + message = dict(id='m', ttl=100, hide=200) |
664 | + attributes = dict(ttl=100, hide=200) |
665 | + filters = dict(detail='attributes') |
666 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
667 | + self.assertEquals([message], list(messages)) |
668 | + self.delete_messages() |
669 | + |
670 | + def test_update_detail_body(self): |
671 | + self.backend.create_message('a', 'q', 'm', 'test') |
672 | + attributes = dict(ttl=100, hide=200) |
673 | + filters = dict(detail='body') |
674 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
675 | + self.assertEquals(['test'], list(messages)) |
676 | + self.delete_messages() |
677 | + |
678 | + def test_update_detail_id(self): |
679 | + self.backend.create_message('a', 'q', 'm', 'test') |
680 | + attributes = dict(ttl=100, hide=200) |
681 | + filters = dict(detail='id') |
682 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
683 | + self.assertEquals(['m'], list(messages)) |
684 | + self.delete_messages() |
685 | + |
686 | + def test_update_detail_none(self): |
687 | + self.backend.create_message('a', 'q', 'm', 'test') |
688 | + attributes = dict(ttl=100, hide=200) |
689 | + filters = dict(detail='none') |
690 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
691 | + self.assertEquals([], list(messages)) |
692 | + self.delete_messages() |
693 | + |
694 | + def test_update_detail_bad(self): |
695 | + self.backend.create_message('a', 'q', 'm', 'test') |
696 | + attributes = dict(ttl=100, hide=200) |
697 | + filters = dict(detail='bad') |
698 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
699 | + self.assertRaises(burrow.backend.InvalidArguments, list, messages) |
700 | + self.delete_messages() |
701 | + |
702 | + def test_update_marker(self): |
703 | + self.backend.create_message('a', 'q', 'm1', 'test') |
704 | + self.backend.create_message('a', 'q', 'm2', 'test') |
705 | + self.backend.create_message('a', 'q', 'm3', 'test') |
706 | + attributes = dict(ttl=100, hide=200) |
707 | + filters = dict(detail='all', match_hidden=True) |
708 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
709 | + messages = list(messages) |
710 | + self.assertEquals(3, len(messages)) |
711 | + filters.update(marker=messages[0]['id']) |
712 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
713 | + self.assertEquals(messages[1:], list(messages2)) |
714 | + filters.update(marker=messages[1]['id']) |
715 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
716 | + self.assertEquals(messages[2:], list(messages2)) |
717 | + filters.update(marker=messages[2]['id']) |
718 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
719 | + self.assertRaises(burrow.backend.NotFound, list, messages2) |
720 | + filters = dict(detail='all', marker='unknown', match_hidden=True) |
721 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
722 | + self.assertEquals(messages, list(messages2)) |
723 | + self.delete_messages() |
724 | + |
725 | + def test_update_limit(self): |
726 | + self.backend.create_message('a', 'q', 'm1', 'test') |
727 | + self.backend.create_message('a', 'q', 'm2', 'test') |
728 | + self.backend.create_message('a', 'q', 'm3', 'test') |
729 | + attributes = dict(ttl=100, hide=200) |
730 | + filters = dict(detail='all', match_hidden=True) |
731 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
732 | + messages = list(messages) |
733 | + self.assertEquals(3, len(messages)) |
734 | + filters.update(limit=1) |
735 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
736 | + self.assertEquals(messages[:1], list(messages2)) |
737 | + filters.update(limit=2) |
738 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
739 | + self.assertEquals(messages[:2], list(messages2)) |
740 | + filters.update(limit=3) |
741 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
742 | + self.assertEquals(messages, list(messages2)) |
743 | + filters.update(limit=100) |
744 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
745 | + self.assertEquals(messages, list(messages2)) |
746 | + self.delete_messages() |
747 | + |
748 | + def test_update_marker_limit(self): |
749 | + self.backend.create_message('a', 'q', 'm1', 'test') |
750 | + self.backend.create_message('a', 'q', 'm2', 'test') |
751 | + self.backend.create_message('a', 'q', 'm3', 'test') |
752 | + attributes = dict(ttl=100, hide=200) |
753 | + filters = dict(detail='all', match_hidden=True) |
754 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
755 | + messages = list(messages) |
756 | + self.assertEquals(3, len(messages)) |
757 | + filters.update(marker=messages[1]['id'], limit=1) |
758 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
759 | + self.assertEquals(messages[2:3], list(messages2)) |
760 | + filters.update(marker=messages[0]['id'], limit=2) |
761 | + messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
762 | + self.assertEquals(messages[1:3], list(messages2)) |
763 | + self.delete_messages() |
764 | + |
765 | + def test_update_wait(self): |
766 | + attributes = dict(hide=100) |
767 | + self.backend.create_message('a', 'q', 'm', 'test', attributes) |
768 | + self.success = False |
769 | + thread = eventlet.spawn(self.get_messages) |
770 | + attributes = dict(hide=0) |
771 | + filters = dict(match_hidden=True) |
772 | + messages = self.backend.update_messages('a', 'q', attributes, filters) |
773 | + eventlet.spawn_after(0.2, list, messages) |
774 | + thread.wait() |
775 | + self.assertTrue(self.success) |
776 | + self.delete_messages() |
777 | + |
778 | + |
779 | +class TestMessage(Base): |
780 | + '''Test case for message.''' |
781 | + |
782 | + def test_basic(self): |
783 | + self.backend.create_message('a', 'q', 'm', 'test') |
784 | + message = self.backend.get_message('a', 'q', 'm') |
785 | + self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message) |
786 | + attributes = dict(ttl=100, hide=200) |
787 | + message = self.backend.update_message('a', 'q', 'm', attributes) |
788 | + attributes = dict(ttl=0, hide=0) |
789 | + message = self.backend.update_message('a', 'q', 'm', attributes) |
790 | + self.assertEquals(None, message) |
791 | + message = self.backend.update_message('a', 'q', 'm', dict()) |
792 | + self.assertEquals(None, message) |
793 | + message = self.backend.delete_message('a', 'q', 'm') |
794 | + self.assertEquals(None, message) |
795 | + |
796 | + def test_create(self): |
797 | + created = self.backend.create_message('a', 'q', 'm', 'test1') |
798 | + self.assertEquals(created, True) |
799 | + message = self.backend.get_message('a', 'q', 'm') |
800 | + self.assertEquals(dict(id='m', ttl=0, hide=0, body='test1'), message) |
801 | + attributes = dict(ttl=100, hide=200) |
802 | + created = self.backend.create_message('a', 'q', 'm', 'test2', |
803 | + attributes) |
804 | + self.assertEquals(created, False) |
805 | + message = self.backend.get_message('a', 'q', 'm') |
806 | + self.assertEquals(dict(id='m', ttl=100, hide=200, body='test2'), |
807 | + message) |
808 | + attributes = dict(ttl=0, hide=0) |
809 | + created = self.backend.create_message('a', 'q', 'm', 'test3', |
810 | + attributes) |
811 | + self.assertEquals(created, False) |
812 | + message = self.backend.get_message('a', 'q', 'm') |
813 | + self.assertEquals(dict(id='m', ttl=0, hide=0, body='test3'), message) |
814 | + self.delete_messages() |
815 | + |
816 | + def test_delete_detail_all(self): |
817 | + self.backend.create_message('a', 'q', 'm', 'test') |
818 | + filters = dict(detail='all') |
819 | + message = self.backend.delete_message('a', 'q', 'm', filters) |
820 | + self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message) |
821 | + |
822 | + def test_delete_detail_attributes(self): |
823 | + self.backend.create_message('a', 'q', 'm', 'test') |
824 | + filters = dict(detail='attributes') |
825 | + message = self.backend.delete_message('a', 'q', 'm', filters) |
826 | + self.assertEquals(dict(id='m', ttl=0, hide=0), message) |
827 | + |
828 | + def test_delete_detail_body(self): |
829 | + self.backend.create_message('a', 'q', 'm', 'test') |
830 | + filters = dict(detail='body') |
831 | + message = self.backend.delete_message('a', 'q', 'm', filters) |
832 | + self.assertEquals('test', message) |
833 | + |
834 | + def test_delete_detail_id(self): |
835 | + self.backend.create_message('a', 'q', 'm', 'test') |
836 | + filters = dict(detail='id') |
837 | + message = self.backend.delete_message('a', 'q', 'm', filters) |
838 | + self.assertEquals('m', message) |
839 | + |
840 | + def test_delete_detail_none(self): |
841 | + self.backend.create_message('a', 'q', 'm', 'test') |
842 | + filters = dict(detail='none') |
843 | + message = self.backend.delete_message('a', 'q', 'm', filters) |
844 | + self.assertEquals(None, message) |
845 | + |
846 | + def test_delete_detail_bad(self): |
847 | + self.backend.create_message('a', 'q', 'm', 'test') |
848 | + filters = dict(detail='bad') |
849 | + self.assertRaises(burrow.backend.InvalidArguments, |
850 | + self.backend.delete_message, 'a', 'q', 'm', filters) |
851 | + self.delete_messages() |
852 | + |
853 | + def test_get_detail_all(self): |
854 | + self.backend.create_message('a', 'q', 'm', 'test') |
855 | + filters = dict(detail='all') |
856 | + message = self.backend.get_message('a', 'q', 'm', filters) |
857 | + self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message) |
858 | + self.delete_messages() |
859 | + |
860 | + def test_get_detail_attributes(self): |
861 | + self.backend.create_message('a', 'q', 'm', 'test') |
862 | + filters = dict(detail='attributes') |
863 | + message = self.backend.get_message('a', 'q', 'm', filters) |
864 | + self.assertEquals(dict(id='m', ttl=0, hide=0), message) |
865 | + self.delete_messages() |
866 | + |
867 | + def test_get_detail_body(self): |
868 | + self.backend.create_message('a', 'q', 'm', 'test') |
869 | + filters = dict(detail='body') |
870 | + message = self.backend.get_message('a', 'q', 'm', filters) |
871 | + self.assertEquals('test', message) |
872 | + self.delete_messages() |
873 | + |
874 | + def test_get_detail_id(self): |
875 | + self.backend.create_message('a', 'q', 'm', 'test') |
876 | + filters = dict(detail='id') |
877 | + message = self.backend.get_message('a', 'q', 'm', filters) |
878 | + self.assertEquals('m', message) |
879 | + self.delete_messages() |
880 | + |
881 | + def test_get_detail_none(self): |
882 | + self.backend.create_message('a', 'q', 'm', 'test') |
883 | + filters = dict(detail='none') |
884 | + message = self.backend.get_message('a', 'q', 'm', filters) |
885 | + self.assertEquals(None, message) |
886 | + self.delete_messages() |
887 | + |
888 | + def test_get_detail_bad(self): |
889 | + self.backend.create_message('a', 'q', 'm', 'test') |
890 | + filters = dict(detail='bad') |
891 | + self.assertRaises(burrow.backend.InvalidArguments, |
892 | + self.backend.get_message, 'a', 'q', 'm', filters) |
893 | + self.delete_messages() |
894 | + |
895 | + def test_update_detail_all(self): |
896 | + self.backend.create_message('a', 'q', 'm', 'test') |
897 | + attributes = dict(ttl=100, hide=200) |
898 | + filters = dict(detail='all') |
899 | + message = self.backend.update_message('a', 'q', 'm', attributes, |
900 | + filters) |
901 | + self.assertEquals(dict(id='m', ttl=100, hide=200, body='test'), |
902 | + message) |
903 | + self.delete_messages() |
904 | + |
905 | + def test_update_detail_attributes(self): |
906 | + self.backend.create_message('a', 'q', 'm', 'test') |
907 | + attributes = dict(ttl=100, hide=200) |
908 | + filters = dict(detail='attributes') |
909 | + message = self.backend.update_message('a', 'q', 'm', attributes, |
910 | + filters) |
911 | + self.assertEquals(dict(id='m', ttl=100, hide=200), message) |
912 | + self.delete_messages() |
913 | + |
914 | + def test_update_detail_body(self): |
915 | + self.backend.create_message('a', 'q', 'm', 'test') |
916 | + attributes = dict(ttl=100, hide=200) |
917 | + filters = dict(detail='body') |
918 | + message = self.backend.update_message('a', 'q', 'm', attributes, |
919 | + filters) |
920 | + self.assertEquals('test', message) |
921 | + self.delete_messages() |
922 | + |
923 | + def test_update_detail_id(self): |
924 | + self.backend.create_message('a', 'q', 'm', 'test') |
925 | + attributes = dict(ttl=100, hide=200) |
926 | + filters = dict(detail='id') |
927 | + message = self.backend.update_message('a', 'q', 'm', attributes, |
928 | + filters) |
929 | + self.assertEquals('m', message) |
930 | + self.delete_messages() |
931 | + |
932 | + def test_update_detail_none(self): |
933 | + self.backend.create_message('a', 'q', 'm', 'test') |
934 | + attributes = dict(ttl=100, hide=200) |
935 | + filters = dict(detail='none') |
936 | + message = self.backend.update_message('a', 'q', 'm', attributes, |
937 | + filters) |
938 | + self.assertEquals(None, message) |
939 | + self.delete_messages() |
940 | + |
941 | + def test_update_detail_bad(self): |
942 | + self.backend.create_message('a', 'q', 'm', 'test') |
943 | + attributes = dict(ttl=100, hide=200) |
944 | + filters = dict(detail='bad') |
945 | + self.assertRaises(burrow.backend.InvalidArguments, |
946 | + self.backend.update_message, 'a', 'q', 'm', attributes, filters) |
947 | + self.delete_messages() |
948 | + |
949 | + def test_ttl(self): |
950 | + attributes = dict(ttl=1) |
951 | + self.backend.create_message('a', 'q', 'm', 'test', attributes) |
952 | + time.sleep(2) |
953 | + self.backend.clean() |
954 | + |
955 | + def test_ttl_large(self): |
956 | + attributes = dict(ttl=1) |
957 | + for name in xrange(0, 1000): |
958 | + name = str(name) |
959 | + self.backend.create_message('a', 'q', name, name, attributes) |
960 | + time.sleep(2) |
961 | + self.backend.clean() |
962 | + |
963 | + def test_hide(self): |
964 | + attributes = dict(hide=1) |
965 | + self.backend.create_message('a', 'q', 'm', 'test', attributes) |
966 | + time.sleep(2) |
967 | + self.backend.clean() |
968 | + message = self.backend.get_message('a', 'q', 'm') |
969 | + self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message) |
970 | + self.delete_messages() |
971 | + |
972 | + def test_hide_large(self): |
973 | + attributes = dict(hide=1) |
974 | + for name in xrange(0, 1000): |
975 | + name = str(name) |
976 | + self.backend.create_message('a', 'q', name, name, attributes) |
977 | + time.sleep(2) |
978 | + self.backend.clean() |
979 | + message = self.backend.get_message('a', 'q', '0') |
980 | + self.assertEquals(dict(id='0', ttl=0, hide=0, body='0'), message) |
981 | + self.delete_messages() |
982 | + |
983 | + def test_create_wait(self): |
984 | + self.success = False |
985 | + thread = eventlet.spawn(self.get_messages) |
986 | + eventlet.spawn_after(0.2, |
987 | + self.backend.create_message, 'a', 'q', 'm', 'test') |
988 | + thread.wait() |
989 | + self.assertTrue(self.success) |
990 | + self.delete_messages() |
991 | + |
992 | + def test_update_wait(self): |
993 | + attributes = dict(hide=100) |
994 | + self.backend.create_message('a', 'q', 'm', 'test', attributes) |
995 | + self.success = False |
996 | + thread = eventlet.spawn(self.get_messages) |
997 | + attributes = dict(hide=0) |
998 | + eventlet.spawn_after(0.2, |
999 | + self.backend.update_message, 'a', 'q', 'm', attributes) |
1000 | + thread.wait() |
1001 | + self.assertTrue(self.success) |
1002 | + self.delete_messages() |
1003 | |
1004 | === modified file 'test/backend/test_http.py' |
1005 | --- test/backend/test_http.py 2011-08-10 07:16:07 +0000 |
1006 | +++ test/backend/test_http.py 2011-08-16 21:02:23 +0000 |
1007 | @@ -12,19 +12,22 @@ |
1008 | # See the License for the specific language governing permissions and |
1009 | # limitations under the License. |
1010 | |
1011 | +'''Unittests for the HTTP backend. This starts the WSGI server so |
1012 | +tests the WSGI frontend as well.''' |
1013 | + |
1014 | import atexit |
1015 | import ConfigParser |
1016 | import os |
1017 | import signal |
1018 | +import sys |
1019 | import time |
1020 | |
1021 | -import burrow.server |
1022 | import burrow.backend.http |
1023 | -import test.backend.test_memory |
1024 | - |
1025 | - |
1026 | -class TestHTTP(test.backend.test_memory.TestMemory): |
1027 | - '''Unittests for the HTTP backend.''' |
1028 | +import test.backend |
1029 | + |
1030 | + |
1031 | +class HTTPBase(test.backend.Base): |
1032 | + '''Base test case for http backend.''' |
1033 | |
1034 | def setUp(self): |
1035 | config = (ConfigParser.ConfigParser(), 'test') |
1036 | @@ -32,23 +35,28 @@ |
1037 | self.check_empty() |
1038 | |
1039 | |
1040 | -def kill_server(): |
1041 | - try: |
1042 | - pid_file = open('TestHTTP.pid', 'r') |
1043 | - pid = pid_file.read() |
1044 | - pid_file.close() |
1045 | - try: |
1046 | - os.kill(int(pid), signal.SIGUSR1) |
1047 | - time.sleep(1) |
1048 | - os.kill(int(pid), signal.SIGTERM) |
1049 | - except OSError: |
1050 | - pass |
1051 | - os.unlink('TestHTTP.pid') |
1052 | - except IOError: |
1053 | - pass |
1054 | +class TestHTTPAccounts(HTTPBase, test.backend.TestAccounts): |
1055 | + '''Test case for accounts with http backend.''' |
1056 | + pass |
1057 | + |
1058 | + |
1059 | +class TestHTTPQueues(HTTPBase, test.backend.TestQueues): |
1060 | + '''Test case for queues with http backend.''' |
1061 | + pass |
1062 | + |
1063 | + |
1064 | +class TestHTTPMessages(HTTPBase, test.backend.TestMessages): |
1065 | + '''Test case for messages with http backend.''' |
1066 | + pass |
1067 | + |
1068 | + |
1069 | +class TestHTTPMessage(HTTPBase, test.backend.TestMessage): |
1070 | + '''Test case for message with http backend.''' |
1071 | + pass |
1072 | |
1073 | |
1074 | def start_server(): |
1075 | + '''Fork and start the server, saving the pid in a file.''' |
1076 | kill_server() |
1077 | pid = os.fork() |
1078 | if pid == 0: |
1079 | @@ -57,16 +65,17 @@ |
1080 | cov = coverage.coverage(data_suffix=True) |
1081 | cov.start() |
1082 | |
1083 | - def save_coverage(signum, frame): |
1084 | + def save_coverage(_signum, _frame): |
1085 | + '''Callback for signal to save coverage info to file.''' |
1086 | cov.save() |
1087 | |
1088 | signal.signal(signal.SIGUSR1, save_coverage) |
1089 | - except: |
1090 | + except ImportError: |
1091 | pass |
1092 | - server = burrow.server.Server(add_default_log_handler=False) |
1093 | + server = burrow.Server(add_default_log_handler=False) |
1094 | server.frontends[0].default_ttl = 0 |
1095 | server.run() |
1096 | - os.exit(0) |
1097 | + sys.exit(0) |
1098 | pid_file = open('TestHTTP.pid', 'w') |
1099 | pid_file.write(str(pid)) |
1100 | pid_file.close() |
1101 | @@ -74,4 +83,21 @@ |
1102 | time.sleep(1) |
1103 | |
1104 | |
1105 | +def kill_server(): |
1106 | + '''Try killing the server if the pid file exists.''' |
1107 | + try: |
1108 | + pid_file = open('TestHTTP.pid', 'r') |
1109 | + pid = pid_file.read() |
1110 | + pid_file.close() |
1111 | + try: |
1112 | + os.kill(int(pid), signal.SIGUSR1) |
1113 | + time.sleep(1) |
1114 | + os.kill(int(pid), signal.SIGTERM) |
1115 | + except OSError: |
1116 | + pass |
1117 | + os.unlink('TestHTTP.pid') |
1118 | + except IOError: |
1119 | + pass |
1120 | + |
1121 | + |
1122 | start_server() |
1123 | |
1124 | === modified file 'test/backend/test_memory.py' |
1125 | --- test/backend/test_memory.py 2011-08-10 07:16:07 +0000 |
1126 | +++ test/backend/test_memory.py 2011-08-16 21:02:23 +0000 |
1127 | @@ -12,923 +12,38 @@ |
1128 | # See the License for the specific language governing permissions and |
1129 | # limitations under the License. |
1130 | |
1131 | +'''Unittests for the memory backend.''' |
1132 | + |
1133 | import ConfigParser |
1134 | -import time |
1135 | -import unittest |
1136 | - |
1137 | -import eventlet |
1138 | -eventlet.monkey_patch(socket=True) |
1139 | - |
1140 | -import burrow.backend |
1141 | + |
1142 | import burrow.backend.memory |
1143 | - |
1144 | - |
1145 | -class TestMemory(unittest.TestCase): |
1146 | - '''Unittests for the memory backend.''' |
1147 | +import test.backend |
1148 | + |
1149 | + |
1150 | +class MemoryBase(test.backend.Base): |
1151 | + '''Base test case for memory backend.''' |
1152 | |
1153 | def setUp(self): |
1154 | config = (ConfigParser.ConfigParser(), 'test') |
1155 | self.backend = burrow.backend.memory.Backend(config) |
1156 | self.check_empty() |
1157 | |
1158 | - def tearDown(self): |
1159 | - self.check_empty() |
1160 | - |
1161 | - def check_empty(self): |
1162 | - accounts = self.backend.get_accounts() |
1163 | - self.assertRaises(burrow.backend.NotFound, list, accounts) |
1164 | - queues = self.backend.get_queues('a') |
1165 | - self.assertRaises(burrow.backend.NotFound, list, queues) |
1166 | - filters = dict(match_hidden=True) |
1167 | - messages = self.backend.get_messages('a', 'q', filters) |
1168 | - self.assertRaises(burrow.backend.NotFound, list, messages) |
1169 | - |
1170 | - def test_accounts(self): |
1171 | - self.backend.create_message('a', 'q', 'm', 'test') |
1172 | - self.assertEquals(['a'], list(self.backend.get_accounts())) |
1173 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1174 | - accounts = self.backend.delete_accounts() |
1175 | - self.assertRaises(burrow.backend.NotFound, list, accounts) |
1176 | - |
1177 | - def test_accounts_large(self): |
1178 | - for x in xrange(0, 1000): |
1179 | - self.backend.create_message(str(x), str(x), str(x), str(x)) |
1180 | - filters = dict(marker='unknown') |
1181 | - self.assertEquals([], list(self.backend.delete_accounts(filters))) |
1182 | - |
1183 | - def test_accounts_delete_detail_all(self): |
1184 | - self.backend.create_message('a', 'q', 'm', 'test') |
1185 | - filters = dict(detail='all') |
1186 | - accounts = list(self.backend.delete_accounts(filters)) |
1187 | - self.assertEquals([dict(id='a')], accounts) |
1188 | - |
1189 | - def test_accounts_delete_detail_id(self): |
1190 | - self.backend.create_message('a', 'q', 'm', 'test') |
1191 | - filters = dict(detail='id') |
1192 | - accounts = list(self.backend.delete_accounts(filters)) |
1193 | - self.assertEquals(['a'], accounts) |
1194 | - |
1195 | - def test_accounts_delete_detail_none(self): |
1196 | - self.backend.create_message('a', 'q', 'm', 'test') |
1197 | - filters = dict(detail='none') |
1198 | - accounts = list(self.backend.delete_accounts(filters)) |
1199 | - self.assertEquals([], accounts) |
1200 | - |
1201 | - def test_accounts_delete_detail_bad(self): |
1202 | - self.backend.create_message('a', 'q', 'm', 'test') |
1203 | - filters = dict(detail='bad') |
1204 | - accounts = self.backend.delete_accounts(filters) |
1205 | - self.assertRaises(burrow.backend.InvalidArguments, list, accounts) |
1206 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1207 | - |
1208 | - def test_accounts_delete_marker(self): |
1209 | - self.backend.create_message('a1', 'q', 'm', 'test') |
1210 | - self.backend.create_message('a2', 'q', 'm', 'test') |
1211 | - self.backend.create_message('a3', 'q', 'm', 'test') |
1212 | - accounts = list(self.backend.get_accounts()) |
1213 | - self.assertEquals(3, len(accounts)) |
1214 | - filters = dict(detail='id', marker=accounts[0]) |
1215 | - accounts2 = list(self.backend.delete_accounts(filters)) |
1216 | - self.assertEquals(accounts[1:], accounts2) |
1217 | - accounts2 = list(self.backend.get_accounts()) |
1218 | - self.assertEquals(accounts[:1], accounts2) |
1219 | - filters = dict(detail='id', marker='unknown') |
1220 | - accounts2 = list(self.backend.delete_accounts(filters)) |
1221 | - self.assertEquals(accounts[:1], accounts2) |
1222 | - |
1223 | - def test_accounts_delete_limit(self): |
1224 | - self.backend.create_message('a1', 'q', 'm', 'test') |
1225 | - self.backend.create_message('a2', 'q', 'm', 'test') |
1226 | - self.backend.create_message('a3', 'q', 'm', 'test') |
1227 | - accounts = list(self.backend.get_accounts()) |
1228 | - self.assertEquals(3, len(accounts)) |
1229 | - filters = dict(detail='id', limit=1) |
1230 | - accounts2 = list(self.backend.delete_accounts(filters)) |
1231 | - self.assertEquals(accounts[:1], accounts2) |
1232 | - filters = dict(detail='id', limit=2) |
1233 | - accounts2 = list(self.backend.delete_accounts(filters)) |
1234 | - self.assertEquals(accounts[1:3], accounts2) |
1235 | - |
1236 | - def test_accounts_delete_marker_limit(self): |
1237 | - self.backend.create_message('a1', 'q', 'm', 'test') |
1238 | - self.backend.create_message('a2', 'q', 'm', 'test') |
1239 | - self.backend.create_message('a3', 'q', 'm', 'test') |
1240 | - accounts = list(self.backend.get_accounts()) |
1241 | - self.assertEquals(3, len(accounts)) |
1242 | - filters = dict(detail='id', marker=accounts[1], limit=1) |
1243 | - accounts2 = list(self.backend.delete_accounts(filters)) |
1244 | - self.assertEquals(accounts[2:3], accounts2) |
1245 | - filters = dict(detail='id', marker=accounts[0], limit=2) |
1246 | - accounts2 = list(self.backend.delete_accounts(filters)) |
1247 | - self.assertEquals(accounts[1:2], accounts2) |
1248 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1249 | - |
1250 | - def test_accounts_get_detail_all(self): |
1251 | - self.backend.create_message('a', 'q', 'm', 'test') |
1252 | - filters = dict(detail='all') |
1253 | - accounts = list(self.backend.get_accounts(filters)) |
1254 | - self.assertEquals([dict(id='a')], accounts) |
1255 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1256 | - |
1257 | - def test_accounts_get_detail_id(self): |
1258 | - self.backend.create_message('a', 'q', 'm', 'test') |
1259 | - filters = dict(detail='id') |
1260 | - accounts = list(self.backend.get_accounts(filters)) |
1261 | - self.assertEquals(['a'], accounts) |
1262 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1263 | - |
1264 | - def test_accounts_get_detail_none(self): |
1265 | - self.backend.create_message('a', 'q', 'm', 'test') |
1266 | - filters = dict(detail='none') |
1267 | - accounts = list(self.backend.get_accounts(filters)) |
1268 | - self.assertEquals([], accounts) |
1269 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1270 | - |
1271 | - def test_accounts_get_detail_bad(self): |
1272 | - self.backend.create_message('a', 'q', 'm', 'test') |
1273 | - filters = dict(detail='bad') |
1274 | - accounts = self.backend.get_accounts(filters) |
1275 | - self.assertRaises(burrow.backend.InvalidArguments, list, accounts) |
1276 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1277 | - |
1278 | - def test_accounts_get_marker(self): |
1279 | - self.backend.create_message('a1', 'q', 'm', 'test') |
1280 | - self.backend.create_message('a2', 'q', 'm', 'test') |
1281 | - self.backend.create_message('a3', 'q', 'm', 'test') |
1282 | - accounts = list(self.backend.get_accounts()) |
1283 | - self.assertEquals(3, len(accounts)) |
1284 | - filters = dict(marker=accounts[0]) |
1285 | - accounts2 = list(self.backend.get_accounts(filters)) |
1286 | - self.assertEquals(accounts[1:], accounts2) |
1287 | - filters = dict(marker=accounts[1]) |
1288 | - accounts2 = list(self.backend.get_accounts(filters)) |
1289 | - self.assertEquals(accounts[2:], accounts2) |
1290 | - filters = dict(marker=accounts[2]) |
1291 | - accounts2 = self.backend.get_accounts(filters) |
1292 | - self.assertRaises(burrow.backend.NotFound, list, accounts2) |
1293 | - filters = dict(marker='unknown') |
1294 | - accounts2 = list(self.backend.get_accounts(filters)) |
1295 | - self.assertEquals(accounts, accounts2) |
1296 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1297 | - |
1298 | - def test_accounts_get_limit(self): |
1299 | - self.backend.create_message('a1', 'q', 'm', 'test') |
1300 | - self.backend.create_message('a2', 'q', 'm', 'test') |
1301 | - self.backend.create_message('a3', 'q', 'm', 'test') |
1302 | - accounts = list(self.backend.get_accounts()) |
1303 | - self.assertEquals(3, len(accounts)) |
1304 | - filters = dict(limit=1) |
1305 | - accounts2 = list(self.backend.get_accounts(filters)) |
1306 | - self.assertEquals(accounts[:1], accounts2) |
1307 | - filters = dict(limit=2) |
1308 | - accounts2 = list(self.backend.get_accounts(filters)) |
1309 | - self.assertEquals(accounts[:2], accounts2) |
1310 | - filters = dict(limit=3) |
1311 | - accounts2 = list(self.backend.get_accounts(filters)) |
1312 | - self.assertEquals(accounts, accounts2) |
1313 | - filters = dict(limit=100) |
1314 | - accounts2 = list(self.backend.get_accounts(filters)) |
1315 | - self.assertEquals(accounts, accounts2) |
1316 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1317 | - |
1318 | - def test_accounts_get_marker_limit(self): |
1319 | - self.backend.create_message('a1', 'q', 'm', 'test') |
1320 | - self.backend.create_message('a2', 'q', 'm', 'test') |
1321 | - self.backend.create_message('a3', 'q', 'm', 'test') |
1322 | - accounts = list(self.backend.get_accounts()) |
1323 | - self.assertEquals(3, len(accounts)) |
1324 | - filters = dict(marker=accounts[1], limit=1) |
1325 | - accounts2 = list(self.backend.get_accounts(filters)) |
1326 | - self.assertEquals(accounts[2:3], accounts2) |
1327 | - filters = dict(marker=accounts[0], limit=2) |
1328 | - accounts2 = list(self.backend.get_accounts(filters)) |
1329 | - self.assertEquals(accounts[1:3], accounts2) |
1330 | - self.assertEquals([], list(self.backend.delete_accounts())) |
1331 | - |
1332 | - def test_queues(self): |
1333 | - self.backend.create_message('a', 'q', 'm', 'test') |
1334 | - self.assertEquals(['q'], list(self.backend.get_queues('a'))) |
1335 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1336 | - queues = self.backend.delete_queues('a') |
1337 | - self.assertRaises(burrow.backend.NotFound, list, queues) |
1338 | - |
1339 | - def test_queues_large(self): |
1340 | - for x in xrange(0, 1000): |
1341 | - self.backend.create_message('a', str(x), str(x), str(x)) |
1342 | - filters = dict(marker='unknown') |
1343 | - self.assertEquals([], list(self.backend.delete_queues('a', filters))) |
1344 | - |
1345 | - def test_queues_delete_detail_all(self): |
1346 | - self.backend.create_message('a', 'q', 'm', 'test') |
1347 | - filters = dict(detail='all') |
1348 | - queues = list(self.backend.delete_queues('a', filters)) |
1349 | - self.assertEquals([dict(id='q')], queues) |
1350 | - |
1351 | - def test_queues_delete_detail_id(self): |
1352 | - self.backend.create_message('a', 'q', 'm', 'test') |
1353 | - filters = dict(detail='id') |
1354 | - queues = list(self.backend.delete_queues('a', filters)) |
1355 | - self.assertEquals(['q'], queues) |
1356 | - |
1357 | - def test_queues_delete_detail_none(self): |
1358 | - self.backend.create_message('a', 'q', 'm', 'test') |
1359 | - filters = dict(detail='none') |
1360 | - queues = list(self.backend.delete_queues('a', filters)) |
1361 | - self.assertEquals([], queues) |
1362 | - |
1363 | - def test_queues_delete_detail_bad(self): |
1364 | - self.backend.create_message('a', 'q', 'm', 'test') |
1365 | - filters = dict(detail='bad') |
1366 | - queues = self.backend.delete_queues('a', filters) |
1367 | - self.assertRaises(burrow.backend.InvalidArguments, list, queues) |
1368 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1369 | - |
1370 | - def test_queues_delete_marker(self): |
1371 | - self.backend.create_message('a', 'q1', 'm', 'test') |
1372 | - self.backend.create_message('a', 'q2', 'm', 'test') |
1373 | - self.backend.create_message('a', 'q3', 'm', 'test') |
1374 | - queues = list(self.backend.get_queues('a')) |
1375 | - self.assertEquals(3, len(queues)) |
1376 | - filters = dict(detail='id', marker=queues[0]) |
1377 | - queues2 = list(self.backend.delete_queues('a', filters)) |
1378 | - self.assertEquals(queues[1:], queues2) |
1379 | - queues2 = list(self.backend.get_queues('a')) |
1380 | - self.assertEquals(queues[:1], queues2) |
1381 | - filters = dict(detail='id', marker='unknown') |
1382 | - queues2 = list(self.backend.delete_queues('a', filters)) |
1383 | - self.assertEquals(queues[:1], queues2) |
1384 | - |
1385 | - def test_queues_delete_limit(self): |
1386 | - self.backend.create_message('a', 'q1', 'm', 'test') |
1387 | - self.backend.create_message('a', 'q2', 'm', 'test') |
1388 | - self.backend.create_message('a', 'q3', 'm', 'test') |
1389 | - queues = list(self.backend.get_queues('a')) |
1390 | - self.assertEquals(3, len(queues)) |
1391 | - filters = dict(detail='id', limit=1) |
1392 | - queues2 = list(self.backend.delete_queues('a', filters)) |
1393 | - self.assertEquals(queues[:1], queues2) |
1394 | - filters = dict(detail='id', limit=2) |
1395 | - queues2 = list(self.backend.delete_queues('a', filters)) |
1396 | - self.assertEquals(queues[1:3], queues2) |
1397 | - |
1398 | - def test_queues_delete_marker_limit(self): |
1399 | - self.backend.create_message('a', 'q1', 'm', 'test') |
1400 | - self.backend.create_message('a', 'q2', 'm', 'test') |
1401 | - self.backend.create_message('a', 'q3', 'm', 'test') |
1402 | - queues = list(self.backend.get_queues('a')) |
1403 | - self.assertEquals(3, len(queues)) |
1404 | - filters = dict(detail='id', marker=queues[1], limit=1) |
1405 | - queues2 = list(self.backend.delete_queues('a', filters)) |
1406 | - self.assertEquals(queues[2:3], queues2) |
1407 | - filters = dict(detail='id', marker=queues[0], limit=2) |
1408 | - queues2 = list(self.backend.delete_queues('a', filters)) |
1409 | - self.assertEquals(queues[1:2], queues2) |
1410 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1411 | - |
1412 | - def test_queues_get_detail_all(self): |
1413 | - self.backend.create_message('a', 'q', 'm', 'test') |
1414 | - filters = dict(detail='all') |
1415 | - queues = list(self.backend.get_queues('a', filters)) |
1416 | - self.assertEquals([dict(id='q')], queues) |
1417 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1418 | - |
1419 | - def test_queues_get_detail_id(self): |
1420 | - self.backend.create_message('a', 'q', 'm', 'test') |
1421 | - filters = dict(detail='id') |
1422 | - queues = list(self.backend.get_queues('a', filters)) |
1423 | - self.assertEquals(['q'], queues) |
1424 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1425 | - |
1426 | - def test_queues_get_detail_none(self): |
1427 | - self.backend.create_message('a', 'q', 'm', 'test') |
1428 | - filters = dict(detail='none') |
1429 | - queues = list(self.backend.get_queues('a', filters)) |
1430 | - self.assertEquals([], queues) |
1431 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1432 | - |
1433 | - def test_queues_get_detail_bad(self): |
1434 | - self.backend.create_message('a', 'q', 'm', 'test') |
1435 | - filters = dict(detail='bad') |
1436 | - queues = self.backend.get_queues('a', filters) |
1437 | - self.assertRaises(burrow.backend.InvalidArguments, list, queues) |
1438 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1439 | - |
1440 | - def test_queues_get_marker(self): |
1441 | - self.backend.create_message('a', 'q1', 'm', 'test') |
1442 | - self.backend.create_message('a', 'q2', 'm', 'test') |
1443 | - self.backend.create_message('a', 'q3', 'm', 'test') |
1444 | - queues = list(self.backend.get_queues('a')) |
1445 | - self.assertEquals(3, len(queues)) |
1446 | - filters = dict(marker=queues[0]) |
1447 | - queues2 = list(self.backend.get_queues('a', filters)) |
1448 | - self.assertEquals(queues[1:], queues2) |
1449 | - filters = dict(marker=queues[1]) |
1450 | - queues2 = list(self.backend.get_queues('a', filters)) |
1451 | - self.assertEquals(queues[2:], queues2) |
1452 | - filters = dict(marker=queues[2]) |
1453 | - queues2 = self.backend.get_queues('a', filters) |
1454 | - self.assertRaises(burrow.backend.NotFound, list, queues2) |
1455 | - filters = dict(marker='unknown') |
1456 | - queues2 = list(self.backend.get_queues('a', filters)) |
1457 | - self.assertEquals(queues, queues2) |
1458 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1459 | - |
1460 | - def test_queues_get_limit(self): |
1461 | - self.backend.create_message('a', 'q1', 'm', 'test') |
1462 | - self.backend.create_message('a', 'q2', 'm', 'test') |
1463 | - self.backend.create_message('a', 'q3', 'm', 'test') |
1464 | - queues = list(self.backend.get_queues('a')) |
1465 | - self.assertEquals(3, len(queues)) |
1466 | - filters = dict(limit=1) |
1467 | - queues2 = list(self.backend.get_queues('a', filters)) |
1468 | - self.assertEquals(queues[:1], queues2) |
1469 | - filters = dict(limit=2) |
1470 | - queues2 = list(self.backend.get_queues('a', filters)) |
1471 | - self.assertEquals(queues[:2], queues2) |
1472 | - filters = dict(limit=3) |
1473 | - queues2 = list(self.backend.get_queues('a', filters)) |
1474 | - self.assertEquals(queues, queues2) |
1475 | - filters = dict(limit=100) |
1476 | - queues2 = list(self.backend.get_queues('a', filters)) |
1477 | - self.assertEquals(queues, queues2) |
1478 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1479 | - |
1480 | - def test_queues_get_marker_limit(self): |
1481 | - self.backend.create_message('a', 'q1', 'm', 'test') |
1482 | - self.backend.create_message('a', 'q2', 'm', 'test') |
1483 | - self.backend.create_message('a', 'q3', 'm', 'test') |
1484 | - queues = list(self.backend.get_queues('a')) |
1485 | - self.assertEquals(3, len(queues)) |
1486 | - filters = dict(marker=queues[1], limit=1) |
1487 | - queues2 = list(self.backend.get_queues('a', filters)) |
1488 | - self.assertEquals(queues[2:3], queues2) |
1489 | - filters = dict(marker=queues[0], limit=2) |
1490 | - queues2 = list(self.backend.get_queues('a', filters)) |
1491 | - self.assertEquals(queues[1:3], queues2) |
1492 | - self.assertEquals([], list(self.backend.delete_queues('a'))) |
1493 | - |
1494 | - def test_messages(self): |
1495 | - self.backend.create_message('a', 'q', 'm', 'test') |
1496 | - message = dict(id='m', ttl=0, hide=0, body='test') |
1497 | - messages = list(self.backend.get_messages('a', 'q')) |
1498 | - self.assertEquals([message], messages) |
1499 | - attributes = dict(ttl=100, hide=200) |
1500 | - messages = list(self.backend.update_messages('a', 'q', attributes)) |
1501 | - self.assertEquals([], messages) |
1502 | - attributes = dict(ttl=0, hide=0) |
1503 | - filters = dict(match_hidden=True) |
1504 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1505 | - self.assertEquals([], list(messages)) |
1506 | - messages = self.backend.update_messages('a', 'q', dict(), filters) |
1507 | - self.assertEquals([], list(messages)) |
1508 | - self.delete_messages() |
1509 | - messages = self.backend.delete_messages('a', 'q') |
1510 | - self.assertRaises(burrow.backend.NotFound, list, messages) |
1511 | - messages = self.backend.update_messages('a', 'q', attributes) |
1512 | - self.assertRaises(burrow.backend.NotFound, list, messages) |
1513 | - |
1514 | - def test_messages_large(self): |
1515 | - for x in xrange(0, 1000): |
1516 | - self.backend.create_message('a', 'q', str(x), str(x)) |
1517 | - attributes = dict(ttl=100, hide=200) |
1518 | - messages = self.backend.update_messages('a', 'q', attributes) |
1519 | - self.assertEquals([], list(messages)) |
1520 | - self.delete_messages() |
1521 | - |
1522 | - def test_messages_delete_detail_all(self): |
1523 | - self.backend.create_message('a', 'q', 'm', 'test') |
1524 | - message = dict(id='m', ttl=0, hide=0, body='test') |
1525 | - filters = dict(detail='all') |
1526 | - messages = list(self.backend.delete_messages('a', 'q', filters)) |
1527 | - self.assertEquals([message], messages) |
1528 | - |
1529 | - def test_messages_delete_detail_attributes(self): |
1530 | - self.backend.create_message('a', 'q', 'm', 'test') |
1531 | - message = dict(id='m', ttl=0, hide=0) |
1532 | - filters = dict(detail='attributes') |
1533 | - messages = list(self.backend.delete_messages('a', 'q', filters)) |
1534 | - self.assertEquals([message], messages) |
1535 | - |
1536 | - def test_messages_delete_detail_body(self): |
1537 | - self.backend.create_message('a', 'q', 'm', 'test') |
1538 | - filters = dict(detail='body') |
1539 | - messages = list(self.backend.delete_messages('a', 'q', filters)) |
1540 | - self.assertEquals(['test'], messages) |
1541 | - |
1542 | - def test_messages_delete_detail_id(self): |
1543 | - self.backend.create_message('a', 'q', 'm', 'test') |
1544 | - filters = dict(detail='id') |
1545 | - messages = list(self.backend.delete_messages('a', 'q', filters)) |
1546 | - self.assertEquals(['m'], messages) |
1547 | - |
1548 | - def test_messages_delete_detail_none(self): |
1549 | - self.backend.create_message('a', 'q', 'm', 'test') |
1550 | - filters = dict(detail='none') |
1551 | - messages = list(self.backend.delete_messages('a', 'q', filters)) |
1552 | - self.assertEquals([], messages) |
1553 | - |
1554 | - def test_messages_delete_detail_bad(self): |
1555 | - self.backend.create_message('a', 'q', 'm', 'test') |
1556 | - filters = dict(detail='bad') |
1557 | - messages = self.backend.delete_messages('a', 'q', filters) |
1558 | - self.assertRaises(burrow.backend.InvalidArguments, list, messages) |
1559 | - self.assertEquals([], list(self.backend.delete_messages('a', 'q'))) |
1560 | - |
1561 | - def test_messages_delete_marker(self): |
1562 | - self.backend.create_message('a', 'q', 'm1', 'test') |
1563 | - self.backend.create_message('a', 'q', 'm2', 'test') |
1564 | - self.backend.create_message('a', 'q', 'm3', 'test') |
1565 | - messages = list(self.backend.get_messages('a', 'q')) |
1566 | - self.assertEquals(3, len(messages)) |
1567 | - filters = dict(detail='all', marker=messages[0]['id']) |
1568 | - messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
1569 | - self.assertEquals(messages[1:], messages2) |
1570 | - messages2 = list(self.backend.get_messages('a', 'q')) |
1571 | - self.assertEquals(messages[:1], messages2) |
1572 | - filters = dict(detail='all', marker='unknown') |
1573 | - messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
1574 | - self.assertEquals(messages[:1], messages2) |
1575 | - |
1576 | - def test_messages_delete_limit(self): |
1577 | - self.backend.create_message('a', 'q', 'm1', 'test') |
1578 | - self.backend.create_message('a', 'q', 'm2', 'test') |
1579 | - self.backend.create_message('a', 'q', 'm3', 'test') |
1580 | - messages = list(self.backend.get_messages('a', 'q')) |
1581 | - self.assertEquals(3, len(messages)) |
1582 | - filters = dict(detail='all', limit=1) |
1583 | - messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
1584 | - self.assertEquals(messages[:1], messages2) |
1585 | - filters = dict(detail='all', limit=2) |
1586 | - messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
1587 | - self.assertEquals(messages[1:3], messages2) |
1588 | - |
1589 | - def test_messages_delete_marker_limit(self): |
1590 | - self.backend.create_message('a', 'q', 'm1', 'test') |
1591 | - self.backend.create_message('a', 'q', 'm2', 'test') |
1592 | - self.backend.create_message('a', 'q', 'm3', 'test') |
1593 | - messages = list(self.backend.get_messages('a', 'q')) |
1594 | - self.assertEquals(3, len(messages)) |
1595 | - filters = dict(detail='all', marker=messages[1]['id'], limit=1) |
1596 | - messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
1597 | - self.assertEquals(messages[2:3], messages2) |
1598 | - filters = dict(detail='all', marker=messages[0]['id'], limit=2) |
1599 | - messages2 = list(self.backend.delete_messages('a', 'q', filters)) |
1600 | - self.assertEquals(messages[1:2], messages2) |
1601 | - self.assertEquals([], list(self.backend.delete_messages('a', 'q'))) |
1602 | - |
1603 | - def test_messages_get_detail_all(self): |
1604 | - self.backend.create_message('a', 'q', 'm', 'test') |
1605 | - message = dict(id='m', ttl=0, hide=0, body='test') |
1606 | - filters = dict(detail='all') |
1607 | - messages = list(self.backend.get_messages('a', 'q', filters)) |
1608 | - self.assertEquals([message], messages) |
1609 | - self.delete_messages() |
1610 | - |
1611 | - def test_messages_get_detail_attributes(self): |
1612 | - self.backend.create_message('a', 'q', 'm', 'test') |
1613 | - message = dict(id='m', ttl=0, hide=0) |
1614 | - filters = dict(detail='attributes') |
1615 | - messages = list(self.backend.get_messages('a', 'q', filters)) |
1616 | - self.assertEquals([message], messages) |
1617 | - self.delete_messages() |
1618 | - |
1619 | - def test_messages_get_detail_body(self): |
1620 | - self.backend.create_message('a', 'q', 'm', 'test') |
1621 | - filters = dict(detail='body') |
1622 | - messages = list(self.backend.get_messages('a', 'q', filters)) |
1623 | - self.assertEquals(['test'], messages) |
1624 | - self.delete_messages() |
1625 | - |
1626 | - def test_messages_get_detail_id(self): |
1627 | - self.backend.create_message('a', 'q', 'm', 'test') |
1628 | - filters = dict(detail='id') |
1629 | - messages = list(self.backend.get_messages('a', 'q', filters)) |
1630 | - self.assertEquals(['m'], messages) |
1631 | - self.delete_messages() |
1632 | - |
1633 | - def test_messages_get_detail_none(self): |
1634 | - self.backend.create_message('a', 'q', 'm', 'test') |
1635 | - filters = dict(detail='none') |
1636 | - messages = list(self.backend.get_messages('a', 'q', filters)) |
1637 | - self.assertEquals([], messages) |
1638 | - self.delete_messages() |
1639 | - |
1640 | - def test_messages_get_detail_bad(self): |
1641 | - self.backend.create_message('a', 'q', 'm', 'test') |
1642 | - filters = dict(detail='bad') |
1643 | - messages = self.backend.get_messages('a', 'q', filters) |
1644 | - self.assertRaises(burrow.backend.InvalidArguments, list, messages) |
1645 | - self.delete_messages() |
1646 | - |
1647 | - def test_messages_get_marker(self): |
1648 | - self.backend.create_message('a', 'q', 'm1', 'test') |
1649 | - self.backend.create_message('a', 'q', 'm2', 'test') |
1650 | - self.backend.create_message('a', 'q', 'm3', 'test') |
1651 | - messages = list(self.backend.get_messages('a', 'q')) |
1652 | - self.assertEquals(3, len(messages)) |
1653 | - filters = dict(marker=messages[0]['id']) |
1654 | - messages2 = list(self.backend.get_messages('a', 'q', filters)) |
1655 | - self.assertEquals(messages[1:], messages2) |
1656 | - filters = dict(marker=messages[1]['id']) |
1657 | - messages2 = list(self.backend.get_messages('a', 'q', filters)) |
1658 | - self.assertEquals(messages[2:], messages2) |
1659 | - filters = dict(marker=messages[2]['id']) |
1660 | - messages2 = self.backend.get_messages('a', 'q', filters) |
1661 | - self.assertRaises(burrow.backend.NotFound, list, messages2) |
1662 | - filters = dict(marker='unknown') |
1663 | - messages2 = list(self.backend.get_messages('a', 'q', filters)) |
1664 | - self.assertEquals(messages, messages2) |
1665 | - self.delete_messages() |
1666 | - |
1667 | - def test_messages_get_limit(self): |
1668 | - self.backend.create_message('a', 'q', 'm1', 'test') |
1669 | - self.backend.create_message('a', 'q', 'm2', 'test') |
1670 | - self.backend.create_message('a', 'q', 'm3', 'test') |
1671 | - messages = list(self.backend.get_messages('a', 'q')) |
1672 | - self.assertEquals(3, len(messages)) |
1673 | - filters = dict(limit=1) |
1674 | - messages2 = list(self.backend.get_messages('a', 'q', filters)) |
1675 | - self.assertEquals(messages[:1], messages2) |
1676 | - filters = dict(limit=2) |
1677 | - messages2 = list(self.backend.get_messages('a', 'q', filters)) |
1678 | - self.assertEquals(messages[:2], messages2) |
1679 | - filters = dict(limit=3) |
1680 | - messages2 = list(self.backend.get_messages('a', 'q', filters)) |
1681 | - self.assertEquals(messages, messages2) |
1682 | - filters = dict(limit=100) |
1683 | - messages2 = list(self.backend.get_messages('a', 'q', filters)) |
1684 | - self.assertEquals(messages, messages2) |
1685 | - self.delete_messages() |
1686 | - |
1687 | - def test_messages_get_marker_limit(self): |
1688 | - self.backend.create_message('a', 'q', 'm1', 'test') |
1689 | - self.backend.create_message('a', 'q', 'm2', 'test') |
1690 | - self.backend.create_message('a', 'q', 'm3', 'test') |
1691 | - messages = list(self.backend.get_messages('a', 'q')) |
1692 | - self.assertEquals(3, len(messages)) |
1693 | - filters = dict(marker=messages[1]['id'], limit=1) |
1694 | - messages2 = list(self.backend.get_messages('a', 'q', filters)) |
1695 | - self.assertEquals(messages[2:3], messages2) |
1696 | - filters = dict(marker=messages[0]['id'], limit=2) |
1697 | - messages2 = list(self.backend.get_messages('a', 'q', filters)) |
1698 | - self.assertEquals(messages[1:3], messages2) |
1699 | - self.delete_messages() |
1700 | - |
1701 | - def test_messages_update_detail_all(self): |
1702 | - self.backend.create_message('a', 'q', 'm', 'test') |
1703 | - message = dict(id='m', ttl=100, hide=200, body='test') |
1704 | - attributes = dict(ttl=100, hide=200) |
1705 | - filters = dict(detail='all') |
1706 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1707 | - self.assertEquals([message], list(messages)) |
1708 | - self.delete_messages() |
1709 | - |
1710 | - def test_messages_update_detail_attributes(self): |
1711 | - self.backend.create_message('a', 'q', 'm', 'test') |
1712 | - message = dict(id='m', ttl=100, hide=200) |
1713 | - attributes = dict(ttl=100, hide=200) |
1714 | - filters = dict(detail='attributes') |
1715 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1716 | - self.assertEquals([message], list(messages)) |
1717 | - self.delete_messages() |
1718 | - |
1719 | - def test_messages_update_detail_body(self): |
1720 | - self.backend.create_message('a', 'q', 'm', 'test') |
1721 | - attributes = dict(ttl=100, hide=200) |
1722 | - filters = dict(detail='body') |
1723 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1724 | - self.assertEquals(['test'], list(messages)) |
1725 | - self.delete_messages() |
1726 | - |
1727 | - def test_messages_update_detail_id(self): |
1728 | - self.backend.create_message('a', 'q', 'm', 'test') |
1729 | - attributes = dict(ttl=100, hide=200) |
1730 | - filters = dict(detail='id') |
1731 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1732 | - self.assertEquals(['m'], list(messages)) |
1733 | - self.delete_messages() |
1734 | - |
1735 | - def test_messages_update_detail_none(self): |
1736 | - self.backend.create_message('a', 'q', 'm', 'test') |
1737 | - attributes = dict(ttl=100, hide=200) |
1738 | - filters = dict(detail='none') |
1739 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1740 | - self.assertEquals([], list(messages)) |
1741 | - self.delete_messages() |
1742 | - |
1743 | - def test_messages_update_detail_bad(self): |
1744 | - self.backend.create_message('a', 'q', 'm', 'test') |
1745 | - attributes = dict(ttl=100, hide=200) |
1746 | - filters = dict(detail='bad') |
1747 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1748 | - self.assertRaises(burrow.backend.InvalidArguments, list, messages) |
1749 | - self.delete_messages() |
1750 | - |
1751 | - def test_messages_update_marker(self): |
1752 | - self.backend.create_message('a', 'q', 'm1', 'test') |
1753 | - self.backend.create_message('a', 'q', 'm2', 'test') |
1754 | - self.backend.create_message('a', 'q', 'm3', 'test') |
1755 | - attributes = dict(ttl=100, hide=200) |
1756 | - filters = dict(detail='all', match_hidden=True) |
1757 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1758 | - messages = list(messages) |
1759 | - self.assertEquals(3, len(messages)) |
1760 | - filters.update(marker=messages[0]['id']) |
1761 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1762 | - self.assertEquals(messages[1:], list(messages2)) |
1763 | - filters.update(marker=messages[1]['id']) |
1764 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1765 | - self.assertEquals(messages[2:], list(messages2)) |
1766 | - filters.update(marker=messages[2]['id']) |
1767 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1768 | - self.assertRaises(burrow.backend.NotFound, list, messages2) |
1769 | - filters = dict(detail='all', marker='unknown', match_hidden=True) |
1770 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1771 | - self.assertEquals(messages, list(messages2)) |
1772 | - self.delete_messages() |
1773 | - |
1774 | - def test_messages_update_limit(self): |
1775 | - self.backend.create_message('a', 'q', 'm1', 'test') |
1776 | - self.backend.create_message('a', 'q', 'm2', 'test') |
1777 | - self.backend.create_message('a', 'q', 'm3', 'test') |
1778 | - attributes = dict(ttl=100, hide=200) |
1779 | - filters = dict(detail='all', match_hidden=True) |
1780 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1781 | - messages = list(messages) |
1782 | - self.assertEquals(3, len(messages)) |
1783 | - filters.update(limit=1) |
1784 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1785 | - self.assertEquals(messages[:1], list(messages2)) |
1786 | - filters.update(limit=2) |
1787 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1788 | - self.assertEquals(messages[:2], list(messages2)) |
1789 | - filters.update(limit=3) |
1790 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1791 | - self.assertEquals(messages, list(messages2)) |
1792 | - filters.update(limit=100) |
1793 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1794 | - self.assertEquals(messages, list(messages2)) |
1795 | - self.delete_messages() |
1796 | - |
1797 | - def test_messages_update_marker_limit(self): |
1798 | - self.backend.create_message('a', 'q', 'm1', 'test') |
1799 | - self.backend.create_message('a', 'q', 'm2', 'test') |
1800 | - self.backend.create_message('a', 'q', 'm3', 'test') |
1801 | - attributes = dict(ttl=100, hide=200) |
1802 | - filters = dict(detail='all', match_hidden=True) |
1803 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
1804 | - messages = list(messages) |
1805 | - self.assertEquals(3, len(messages)) |
1806 | - filters.update(marker=messages[1]['id'], limit=1) |
1807 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1808 | - self.assertEquals(messages[2:3], list(messages2)) |
1809 | - filters.update(marker=messages[0]['id'], limit=2) |
1810 | - messages2 = self.backend.update_messages('a', 'q', attributes, filters) |
1811 | - self.assertEquals(messages[1:3], list(messages2)) |
1812 | - self.delete_messages() |
1813 | - |
1814 | - def test_message(self): |
1815 | - self.backend.create_message('a', 'q', 'm', 'test') |
1816 | - message = self.backend.get_message('a', 'q', 'm') |
1817 | - self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message) |
1818 | - attributes = dict(ttl=100, hide=200) |
1819 | - message = self.backend.update_message('a', 'q', 'm', attributes) |
1820 | - attributes = dict(ttl=0, hide=0) |
1821 | - message = self.backend.update_message('a', 'q', 'm', attributes) |
1822 | - self.assertEquals(None, message) |
1823 | - message = self.backend.update_message('a', 'q', 'm', dict()) |
1824 | - self.assertEquals(None, message) |
1825 | - message = self.backend.delete_message('a', 'q', 'm') |
1826 | - self.assertEquals(None, message) |
1827 | - |
1828 | - def test_message_create(self): |
1829 | - created = self.backend.create_message('a', 'q', 'm', 'test1') |
1830 | - self.assertEquals(created, True) |
1831 | - message = self.backend.get_message('a', 'q', 'm') |
1832 | - self.assertEquals(dict(id='m', ttl=0, hide=0, body='test1'), message) |
1833 | - attributes = dict(ttl=100, hide=200) |
1834 | - created = self.backend.create_message('a', 'q', 'm', 'test2', |
1835 | - attributes) |
1836 | - self.assertEquals(created, False) |
1837 | - message = self.backend.get_message('a', 'q', 'm') |
1838 | - self.assertEquals(dict(id='m', ttl=100, hide=200, body='test2'), |
1839 | - message) |
1840 | - attributes = dict(ttl=0, hide=0) |
1841 | - created = self.backend.create_message('a', 'q', 'm', 'test3', |
1842 | - attributes) |
1843 | - self.assertEquals(created, False) |
1844 | - message = self.backend.get_message('a', 'q', 'm') |
1845 | - self.assertEquals(dict(id='m', ttl=0, hide=0, body='test3'), message) |
1846 | - |
1847 | - self.delete_messages() |
1848 | - |
1849 | - def test_message_delete_detail_all(self): |
1850 | - self.backend.create_message('a', 'q', 'm', 'test') |
1851 | - filters = dict(detail='all') |
1852 | - message = self.backend.delete_message('a', 'q', 'm', filters) |
1853 | - self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message) |
1854 | - |
1855 | - def test_message_delete_detail_attributes(self): |
1856 | - self.backend.create_message('a', 'q', 'm', 'test') |
1857 | - filters = dict(detail='attributes') |
1858 | - message = self.backend.delete_message('a', 'q', 'm', filters) |
1859 | - self.assertEquals(dict(id='m', ttl=0, hide=0), message) |
1860 | - |
1861 | - def test_message_delete_detail_body(self): |
1862 | - self.backend.create_message('a', 'q', 'm', 'test') |
1863 | - filters = dict(detail='body') |
1864 | - message = self.backend.delete_message('a', 'q', 'm', filters) |
1865 | - self.assertEquals('test', message) |
1866 | - |
1867 | - def test_message_delete_detail_id(self): |
1868 | - self.backend.create_message('a', 'q', 'm', 'test') |
1869 | - filters = dict(detail='id') |
1870 | - message = self.backend.delete_message('a', 'q', 'm', filters) |
1871 | - self.assertEquals('m', message) |
1872 | - |
1873 | - def test_message_delete_detail_none(self): |
1874 | - self.backend.create_message('a', 'q', 'm', 'test') |
1875 | - filters = dict(detail='none') |
1876 | - message = self.backend.delete_message('a', 'q', 'm', filters) |
1877 | - self.assertEquals(None, message) |
1878 | - |
1879 | - def test_message_delete_detail_bad(self): |
1880 | - self.backend.create_message('a', 'q', 'm', 'test') |
1881 | - filters = dict(detail='bad') |
1882 | - self.assertRaises(burrow.backend.InvalidArguments, |
1883 | - self.backend.delete_message, 'a', 'q', 'm', filters) |
1884 | - self.delete_messages() |
1885 | - |
1886 | - def test_message_get_detail_all(self): |
1887 | - self.backend.create_message('a', 'q', 'm', 'test') |
1888 | - filters = dict(detail='all') |
1889 | - message = self.backend.get_message('a', 'q', 'm', filters) |
1890 | - self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message) |
1891 | - self.delete_messages() |
1892 | - |
1893 | - def test_message_get_detail_attributes(self): |
1894 | - self.backend.create_message('a', 'q', 'm', 'test') |
1895 | - filters = dict(detail='attributes') |
1896 | - message = self.backend.get_message('a', 'q', 'm', filters) |
1897 | - self.assertEquals(dict(id='m', ttl=0, hide=0), message) |
1898 | - self.delete_messages() |
1899 | - |
1900 | - def test_message_get_detail_body(self): |
1901 | - self.backend.create_message('a', 'q', 'm', 'test') |
1902 | - filters = dict(detail='body') |
1903 | - message = self.backend.get_message('a', 'q', 'm', filters) |
1904 | - self.assertEquals('test', message) |
1905 | - self.delete_messages() |
1906 | - |
1907 | - def test_message_get_detail_id(self): |
1908 | - self.backend.create_message('a', 'q', 'm', 'test') |
1909 | - filters = dict(detail='id') |
1910 | - message = self.backend.get_message('a', 'q', 'm', filters) |
1911 | - self.assertEquals('m', message) |
1912 | - self.delete_messages() |
1913 | - |
1914 | - def test_message_get_detail_none(self): |
1915 | - self.backend.create_message('a', 'q', 'm', 'test') |
1916 | - filters = dict(detail='none') |
1917 | - message = self.backend.get_message('a', 'q', 'm', filters) |
1918 | - self.assertEquals(None, message) |
1919 | - self.delete_messages() |
1920 | - |
1921 | - def test_message_get_detail_bad(self): |
1922 | - self.backend.create_message('a', 'q', 'm', 'test') |
1923 | - filters = dict(detail='bad') |
1924 | - self.assertRaises(burrow.backend.InvalidArguments, |
1925 | - self.backend.get_message, 'a', 'q', 'm', filters) |
1926 | - self.delete_messages() |
1927 | - |
1928 | - def test_message_update_detail_all(self): |
1929 | - self.backend.create_message('a', 'q', 'm', 'test') |
1930 | - attributes = dict(ttl=100, hide=200) |
1931 | - filters = dict(detail='all') |
1932 | - message = self.backend.update_message('a', 'q', 'm', attributes, |
1933 | - filters) |
1934 | - self.assertEquals(dict(id='m', ttl=100, hide=200, body='test'), |
1935 | - message) |
1936 | - self.delete_messages() |
1937 | - |
1938 | - def test_message_update_detail_attributes(self): |
1939 | - self.backend.create_message('a', 'q', 'm', 'test') |
1940 | - attributes = dict(ttl=100, hide=200) |
1941 | - filters = dict(detail='attributes') |
1942 | - message = self.backend.update_message('a', 'q', 'm', attributes, |
1943 | - filters) |
1944 | - self.assertEquals(dict(id='m', ttl=100, hide=200), message) |
1945 | - self.delete_messages() |
1946 | - |
1947 | - def test_message_update_detail_body(self): |
1948 | - self.backend.create_message('a', 'q', 'm', 'test') |
1949 | - attributes = dict(ttl=100, hide=200) |
1950 | - filters = dict(detail='body') |
1951 | - message = self.backend.update_message('a', 'q', 'm', attributes, |
1952 | - filters) |
1953 | - self.assertEquals('test', message) |
1954 | - self.delete_messages() |
1955 | - |
1956 | - def test_message_update_detail_id(self): |
1957 | - self.backend.create_message('a', 'q', 'm', 'test') |
1958 | - attributes = dict(ttl=100, hide=200) |
1959 | - filters = dict(detail='id') |
1960 | - message = self.backend.update_message('a', 'q', 'm', attributes, |
1961 | - filters) |
1962 | - self.assertEquals('m', message) |
1963 | - self.delete_messages() |
1964 | - |
1965 | - def test_message_update_detail_none(self): |
1966 | - self.backend.create_message('a', 'q', 'm', 'test') |
1967 | - attributes = dict(ttl=100, hide=200) |
1968 | - filters = dict(detail='none') |
1969 | - message = self.backend.update_message('a', 'q', 'm', attributes, |
1970 | - filters) |
1971 | - self.assertEquals(None, message) |
1972 | - self.delete_messages() |
1973 | - |
1974 | - def test_message_update_detail_bad(self): |
1975 | - self.backend.create_message('a', 'q', 'm', 'test') |
1976 | - attributes = dict(ttl=100, hide=200) |
1977 | - filters = dict(detail='bad') |
1978 | - self.assertRaises(burrow.backend.InvalidArguments, |
1979 | - self.backend.update_message, 'a', 'q', 'm', attributes, filters) |
1980 | - self.delete_messages() |
1981 | - |
1982 | - def test_message_ttl(self): |
1983 | - attributes = dict(ttl=1) |
1984 | - self.backend.create_message('a', 'q', 'm', 'test', attributes) |
1985 | - time.sleep(2) |
1986 | - self.backend.clean() |
1987 | - |
1988 | - def test_message_ttl_large(self): |
1989 | - attributes = dict(ttl=1) |
1990 | - for x in xrange(0, 1000): |
1991 | - self.backend.create_message('a', 'q', str(x), str(x), attributes) |
1992 | - time.sleep(2) |
1993 | - self.backend.clean() |
1994 | - |
1995 | - def test_message_hide(self): |
1996 | - attributes = dict(hide=1) |
1997 | - self.backend.create_message('a', 'q', 'm', 'test', attributes) |
1998 | - time.sleep(2) |
1999 | - self.backend.clean() |
2000 | - message = self.backend.get_message('a', 'q', 'm') |
2001 | - self.assertEquals(dict(id='m', ttl=0, hide=0, body='test'), message) |
2002 | - self.delete_messages() |
2003 | - |
2004 | - def test_message_hide_large(self): |
2005 | - attributes = dict(hide=1) |
2006 | - for x in xrange(0, 1000): |
2007 | - self.backend.create_message('a', 'q', str(x), str(x), attributes) |
2008 | - time.sleep(2) |
2009 | - self.backend.clean() |
2010 | - message = self.backend.get_message('a', 'q', '0') |
2011 | - self.assertEquals(dict(id='0', ttl=0, hide=0, body='0'), message) |
2012 | - self.delete_messages() |
2013 | - |
2014 | - def test_message_create_wait(self): |
2015 | - self.success = False |
2016 | - thread = eventlet.spawn(self.get_messages) |
2017 | - eventlet.spawn_after(0.2, |
2018 | - self.backend.create_message, 'a', 'q', 'm', 'test') |
2019 | - thread.wait() |
2020 | - self.assertTrue(self.success) |
2021 | - self.delete_messages() |
2022 | - |
2023 | - def test_message_update_wait(self): |
2024 | - attributes = dict(hide=100) |
2025 | - self.backend.create_message('a', 'q', 'm', 'test', attributes) |
2026 | - self.success = False |
2027 | - thread = eventlet.spawn(self.get_messages) |
2028 | - attributes = dict(hide=0) |
2029 | - eventlet.spawn_after(0.2, |
2030 | - self.backend.update_message, 'a', 'q', 'm', attributes) |
2031 | - thread.wait() |
2032 | - self.assertTrue(self.success) |
2033 | - self.delete_messages() |
2034 | - |
2035 | - def test_messages_update_wait(self): |
2036 | - attributes = dict(hide=100) |
2037 | - self.backend.create_message('a', 'q', 'm', 'test', attributes) |
2038 | - self.success = False |
2039 | - thread = eventlet.spawn(self.get_messages) |
2040 | - attributes = dict(hide=0) |
2041 | - filters = dict(match_hidden=True) |
2042 | - messages = self.backend.update_messages('a', 'q', attributes, filters) |
2043 | - eventlet.spawn_after(0.2, list, messages) |
2044 | - thread.wait() |
2045 | - self.assertTrue(self.success) |
2046 | - self.delete_messages() |
2047 | - |
2048 | - def delete_messages(self): |
2049 | - filters = dict(match_hidden=True) |
2050 | - messages = list(self.backend.delete_messages('a', 'q', filters)) |
2051 | - self.assertEquals([], messages) |
2052 | - |
2053 | - def get_messages(self): |
2054 | - message = dict(id='m', ttl=0, hide=0, body='test') |
2055 | - filters = dict(wait=2) |
2056 | - messages = list(self.backend.get_messages('a', 'q', filters)) |
2057 | - self.assertEquals([message], messages) |
2058 | - self.success = True |
2059 | + |
2060 | +class TestMemoryAccounts(MemoryBase, test.backend.TestAccounts): |
2061 | + '''Test case for accounts with memory backend.''' |
2062 | + pass |
2063 | + |
2064 | + |
2065 | +class TestMemoryQueues(MemoryBase, test.backend.TestQueues): |
2066 | + '''Test case for queues with memory backend.''' |
2067 | + pass |
2068 | + |
2069 | + |
2070 | +class TestMemoryMessages(MemoryBase, test.backend.TestMessages): |
2071 | + '''Test case for messages with memory backend.''' |
2072 | + pass |
2073 | + |
2074 | + |
2075 | +class TestMemoryMessage(MemoryBase, test.backend.TestMessage): |
2076 | + '''Test case for message with memory backend.''' |
2077 | + pass |
2078 | |
2079 | === modified file 'test/backend/test_sqlite.py' |
2080 | --- test/backend/test_sqlite.py 2011-08-09 23:04:39 +0000 |
2081 | +++ test/backend/test_sqlite.py 2011-08-16 21:02:23 +0000 |
2082 | @@ -12,15 +12,17 @@ |
2083 | # See the License for the specific language governing permissions and |
2084 | # limitations under the License. |
2085 | |
2086 | +'''Unittests for the sqlite backend.''' |
2087 | + |
2088 | import ConfigParser |
2089 | import os |
2090 | |
2091 | import burrow.backend.sqlite |
2092 | -import test.backend.test_memory |
2093 | - |
2094 | - |
2095 | -class TestSQLite(test.backend.test_memory.TestMemory): |
2096 | - '''Unittests for the memory-based SQLite backend.''' |
2097 | +import test.backend |
2098 | + |
2099 | + |
2100 | +class SQLiteBase(test.backend.Base): |
2101 | + '''Base test case for sqlite backend.''' |
2102 | |
2103 | def setUp(self): |
2104 | config = (ConfigParser.ConfigParser(), 'test') |
2105 | @@ -28,8 +30,28 @@ |
2106 | self.check_empty() |
2107 | |
2108 | |
2109 | -class TestSQLiteFile(test.backend.test_memory.TestMemory): |
2110 | - '''Unittests for the file-based SQLite backend.''' |
2111 | +class TestSQLiteAccounts(SQLiteBase, test.backend.TestAccounts): |
2112 | + '''Test case for accounts with sqlite backend.''' |
2113 | + pass |
2114 | + |
2115 | + |
2116 | +class TestSQLiteQueues(SQLiteBase, test.backend.TestQueues): |
2117 | + '''Test case for queues with sqlite backend.''' |
2118 | + pass |
2119 | + |
2120 | + |
2121 | +class TestSQLiteMessages(SQLiteBase, test.backend.TestMessages): |
2122 | + '''Test case for messages with sqlite backend.''' |
2123 | + pass |
2124 | + |
2125 | + |
2126 | +class TestSQLiteMessage(SQLiteBase, test.backend.TestMessage): |
2127 | + '''Test case for message with sqlite backend.''' |
2128 | + pass |
2129 | + |
2130 | + |
2131 | +class SQLiteFileBase(test.backend.Base): |
2132 | + '''Base test case for file-based sqlite backend.''' |
2133 | |
2134 | def setUp(self): |
2135 | try: |
2136 | @@ -47,3 +69,23 @@ |
2137 | def tearDown(self): |
2138 | self.check_empty() |
2139 | os.unlink('TestSQLiteFile.db') |
2140 | + |
2141 | + |
2142 | +class TestSQLiteFileAccounts(SQLiteFileBase, test.backend.TestAccounts): |
2143 | + '''Test case for accounts with file-based sqlite backend.''' |
2144 | + pass |
2145 | + |
2146 | + |
2147 | +class TestSQLiteFileQueues(SQLiteFileBase, test.backend.TestQueues): |
2148 | + '''Test case for queues with file-based sqlite backend.''' |
2149 | + pass |
2150 | + |
2151 | + |
2152 | +class TestSQLiteFileMessages(SQLiteFileBase, test.backend.TestMessages): |
2153 | + '''Test case for messages with file-based sqlite backend.''' |
2154 | + pass |
2155 | + |
2156 | + |
2157 | +class TestSQLiteFileMessage(SQLiteFileBase, test.backend.TestMessage): |
2158 | + '''Test case for message with file-based sqlite backend.''' |
2159 | + pass |