Merge lp:~eday/burrow/backend-unittests into lp:burrow

Proposed by Eric Day
Status: Merged
Approved by: Eric Day
Approved revision: 20
Merged at revision: 23
Proposed branch: lp:~eday/burrow/backend-unittests
Merge into: lp:burrow
Diff against target: 221 lines (+179/-9)
2 files modified
burrow/backend/memory.py (+9/-1)
test/backend/test_memory.py (+170/-8)
To merge this branch: bzr merge lp:~eday/burrow/backend-unittests
Reviewer Review Type Date Requested Status
Burrow Core Team Pending
Review via email: mp+68037@code.launchpad.net

Description of the change

Added backend tests for queues.

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 'burrow/backend/memory.py'
2--- burrow/backend/memory.py 2011-06-15 18:27:24 +0000
3+++ burrow/backend/memory.py 2011-07-14 22:39:07 +0000
4@@ -50,8 +50,16 @@
5 return self.accounts.delete_queues(account, filters)
6
7 def get_queues(self, account, filters={}):
8+ detail = filters.get('detail', 'id')
9+ if detail is 'none':
10+ detail = None
11+ elif detail is not None and detail not in ['id', 'all']:
12+ raise burrow.backend.BadDetail(detail)
13 for queue in self.accounts.get_queues(account, filters):
14- yield queue.name
15+ if detail is 'id':
16+ yield queue.name
17+ elif detail is 'all':
18+ yield dict(id=queue.name)
19
20 def delete_messages(self, account, queue, filters={}):
21 return self._scan_queue(account, queue, filters, delete=True)
22
23=== modified file 'test/backend/test_memory.py'
24--- test/backend/test_memory.py 2011-06-15 18:27:24 +0000
25+++ test/backend/test_memory.py 2011-07-14 22:39:07 +0000
26@@ -63,6 +63,14 @@
27 accounts = list(self.backend.delete_accounts(filters))
28 self.assertEquals([], accounts)
29
30+ def test_account_delete_detail_bad(self):
31+ self.backend.create_message('a', 'q', 'm', 'test')
32+ self.assertEquals(['a'], list(self.backend.get_accounts()))
33+ filters = dict(detail='bad')
34+ accounts = self.backend.delete_accounts(filters)
35+ self.assertRaises(burrow.backend.BadDetail, list, accounts)
36+ self.assertEquals([], list(self.backend.delete_accounts()))
37+
38 def test_account_delete_marker(self):
39 self.backend.create_message('a1', 'q', 'm', 'test')
40 self.backend.create_message('a2', 'q', 'm', 'test')
41@@ -105,14 +113,6 @@
42 self.assertEquals(accounts[1:2], accounts3)
43 self.assertEquals([], list(self.backend.delete_accounts()))
44
45- def test_account_delete_detail_bad(self):
46- self.backend.create_message('a', 'q', 'm', 'test')
47- self.assertEquals(['a'], list(self.backend.get_accounts()))
48- filters = dict(detail='bad')
49- accounts = self.backend.delete_accounts(filters)
50- self.assertRaises(burrow.backend.BadDetail, list, accounts)
51- self.assertEquals([], list(self.backend.delete_accounts()))
52-
53 def test_account_get_detail_all(self):
54 self.backend.create_message('a', 'q', 'm', 'test')
55 self.assertEquals(['a'], list(self.backend.get_accounts()))
56@@ -198,3 +198,165 @@
57 accounts3 = list(self.backend.get_accounts(filters))
58 self.assertEquals(accounts[1:3], accounts3)
59 self.assertEquals([], list(self.backend.delete_accounts()))
60+
61+ def test_queue(self):
62+ self.backend.create_message('a', 'q', 'm', 'test')
63+ self.assertEquals(['q'], list(self.backend.get_queues('a')))
64+ self.assertEquals([], list(self.backend.delete_queues('a')))
65+
66+ def test_queue_delete_detail_all(self):
67+ self.backend.create_message('a', 'q', 'm', 'test')
68+ self.assertEquals(['q'], list(self.backend.get_queues('a')))
69+ filters = dict(detail='all')
70+ queues = list(self.backend.delete_queues('a', filters))
71+ self.assertEquals([dict(id='q')], queues)
72+
73+ def test_queue_delete_detail_id(self):
74+ self.backend.create_message('a', 'q', 'm', 'test')
75+ self.assertEquals(['q'], list(self.backend.get_queues('a')))
76+ filters = dict(detail='id')
77+ queues = list(self.backend.delete_queues('a', filters))
78+ self.assertEquals(['q'], queues)
79+
80+ def test_queue_delete_detail_none(self):
81+ self.backend.create_message('a', 'q', 'm', 'test')
82+ self.assertEquals(['q'], list(self.backend.get_queues('a')))
83+ filters = dict(detail='none')
84+ queues = list(self.backend.delete_queues('a', filters))
85+ self.assertEquals([], queues)
86+
87+ def test_queue_delete_detail_bad(self):
88+ self.backend.create_message('a', 'q', 'm', 'test')
89+ self.assertEquals(['q'], list(self.backend.get_queues('a')))
90+ filters = dict(detail='bad')
91+ queues = self.backend.delete_queues('a', filters)
92+ self.assertRaises(burrow.backend.BadDetail, list, queues)
93+ self.assertEquals([], list(self.backend.delete_queues('a')))
94+
95+ def test_queue_delete_marker(self):
96+ self.backend.create_message('a', 'q1', 'm', 'test')
97+ self.backend.create_message('a', 'q2', 'm', 'test')
98+ self.backend.create_message('a', 'q3', 'm', 'test')
99+ queues = list(self.backend.get_queues('a'))
100+ self.assertEquals(3, len(queues))
101+ filters = dict(detail='id', marker=queues[0])
102+ queues2 = list(self.backend.delete_queues('a', filters))
103+ self.assertEquals(queues[1:], queues2)
104+ queues3 = list(self.backend.get_queues('a'))
105+ self.assertEquals(queues[:1], queues3)
106+ filters = dict(detail='id', marker='unknown')
107+ queues4 = list(self.backend.delete_queues('a', filters))
108+ self.assertEquals(queues[:1], queues4)
109+
110+ def test_queue_delete_limit(self):
111+ self.backend.create_message('a', 'q1', 'm', 'test')
112+ self.backend.create_message('a', 'q2', 'm', 'test')
113+ self.backend.create_message('a', 'q3', 'm', 'test')
114+ queues = list(self.backend.get_queues('a'))
115+ self.assertEquals(3, len(queues))
116+ filters = dict(detail='id', limit=1)
117+ queues2 = list(self.backend.delete_queues('a', filters))
118+ self.assertEquals(queues[:1], queues2)
119+ filters = dict(detail='id', limit=2)
120+ queues3 = list(self.backend.delete_queues('a', filters))
121+ self.assertEquals(queues[1:3], queues3)
122+
123+ def test_queue_delete_marker_limit(self):
124+ self.backend.create_message('a', 'q1', 'm', 'test')
125+ self.backend.create_message('a', 'q2', 'm', 'test')
126+ self.backend.create_message('a', 'q3', 'm', 'test')
127+ queues = list(self.backend.get_queues('a'))
128+ self.assertEquals(3, len(queues))
129+ filters = dict(detail='id', marker=queues[1], limit=1)
130+ queues2 = list(self.backend.delete_queues('a', filters))
131+ self.assertEquals(queues[2:3], queues2)
132+ filters = dict(detail='id', marker=queues[0], limit=2)
133+ queues3 = list(self.backend.delete_queues('a', filters))
134+ self.assertEquals(queues[1:2], queues3)
135+ self.assertEquals([], list(self.backend.delete_queues('a')))
136+
137+ def test_queue_get_detail_all(self):
138+ self.backend.create_message('a', 'q', 'm', 'test')
139+ self.assertEquals(['q'], list(self.backend.get_queues('a')))
140+ filters = dict(detail='all')
141+ queues = list(self.backend.get_queues('a', filters))
142+ self.assertEquals([dict(id='q')], queues)
143+ self.assertEquals([], list(self.backend.delete_queues('a')))
144+
145+ def test_queue_get_detail_id(self):
146+ self.backend.create_message('a', 'q', 'm', 'test')
147+ self.assertEquals(['q'], list(self.backend.get_queues('a')))
148+ filters = dict(detail='id')
149+ queues = list(self.backend.get_queues('a', filters))
150+ self.assertEquals(['q'], queues)
151+ self.assertEquals([], list(self.backend.delete_queues('a')))
152+
153+ def test_queue_get_detail_none(self):
154+ self.backend.create_message('a', 'q', 'm', 'test')
155+ self.assertEquals(['q'], list(self.backend.get_queues('a')))
156+ filters = dict(detail='none')
157+ queues = list(self.backend.get_queues('a', filters))
158+ self.assertEquals([], queues)
159+ self.assertEquals([], list(self.backend.delete_queues('a')))
160+
161+ def test_queue_get_detail_bad(self):
162+ self.backend.create_message('a', 'q', 'm', 'test')
163+ self.assertEquals(['q'], list(self.backend.get_queues('a')))
164+ filters = dict(detail='bad')
165+ queues = self.backend.get_queues('a', filters)
166+ self.assertRaises(burrow.backend.BadDetail, list, queues)
167+ self.assertEquals([], list(self.backend.delete_queues('a')))
168+
169+ def test_queue_get_marker(self):
170+ self.backend.create_message('a', 'q1', 'm', 'test')
171+ self.backend.create_message('a', 'q2', 'm', 'test')
172+ self.backend.create_message('a', 'q3', 'm', 'test')
173+ queues = list(self.backend.get_queues('a'))
174+ self.assertEquals(3, len(queues))
175+ filters = dict(marker=queues[0])
176+ queues2 = list(self.backend.get_queues('a', filters))
177+ self.assertEquals(queues[1:], queues2)
178+ filters = dict(marker=queues[1])
179+ queues3 = list(self.backend.get_queues('a', filters))
180+ self.assertEquals(queues[2:], queues3)
181+ filters = dict(marker=queues[2])
182+ queues4 = list(self.backend.get_queues('a', filters))
183+ self.assertEquals([], queues4)
184+ filters = dict(marker='unknown')
185+ queues5 = list(self.backend.get_queues('a', filters))
186+ self.assertEquals(queues, queues5)
187+ self.assertEquals([], list(self.backend.delete_queues('a')))
188+
189+ def test_queue_get_limit(self):
190+ self.backend.create_message('a', 'q1', 'm', 'test')
191+ self.backend.create_message('a', 'q2', 'm', 'test')
192+ self.backend.create_message('a', 'q3', 'm', 'test')
193+ queues = list(self.backend.get_queues('a'))
194+ self.assertEquals(3, len(queues))
195+ filters = dict(limit=1)
196+ queues2 = list(self.backend.get_queues('a', filters))
197+ self.assertEquals(queues[:1], queues2)
198+ filters = dict(limit=2)
199+ queues3 = list(self.backend.get_queues('a', filters))
200+ self.assertEquals(queues[:2], queues3)
201+ filters = dict(limit=3)
202+ queues4 = list(self.backend.get_queues('a', filters))
203+ self.assertEquals(queues, queues4)
204+ filters = dict(limit=100)
205+ queues5 = list(self.backend.get_queues('a', filters))
206+ self.assertEquals(queues, queues5)
207+ self.assertEquals([], list(self.backend.delete_queues('a')))
208+
209+ def test_queue_get_marker_limit(self):
210+ self.backend.create_message('a', 'q1', 'm', 'test')
211+ self.backend.create_message('a', 'q2', 'm', 'test')
212+ self.backend.create_message('a', 'q3', 'm', 'test')
213+ queues = list(self.backend.get_queues('a'))
214+ self.assertEquals(3, len(queues))
215+ filters = dict(marker=queues[1], limit=1)
216+ queues2 = list(self.backend.get_queues('a', filters))
217+ self.assertEquals(queues[2:3], queues2)
218+ filters = dict(marker=queues[0], limit=2)
219+ queues3 = list(self.backend.get_queues('a', filters))
220+ self.assertEquals(queues[1:3], queues3)
221+ self.assertEquals([], list(self.backend.delete_queues('a')))

Subscribers

People subscribed via source and target branches