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

Proposed by Eric Day
Status: Merged
Approved by: Eric Day
Approved revision: 26
Merged at revision: 27
Proposed branch: lp:~eday/burrow/backend-unittests
Merge into: lp:burrow
Diff against target: 207 lines (+40/-32)
3 files modified
burrow/backend/memory.py (+5/-5)
burrow/backend/sqlite.py (+9/-9)
burrow/frontend/wsgi.py (+26/-18)
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+68896@code.launchpad.net

Description of the change

Changed WSGI frontend to pass delete account/queue responses back through.

To post a comment you must log in.
lp:~eday/burrow/backend-unittests updated
25. By Eric Day

PEP8 fix.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Attempt to merge into lp:burrow failed due to conflicts:

text conflict in burrow/backend/sqlite.py

lp:~eday/burrow/backend-unittests updated
26. By Eric Day

Merged trunk.

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-07-15 00:15:56 +0000
3+++ burrow/backend/memory.py 2011-07-22 19:42:29 +0000
4@@ -252,9 +252,9 @@
5 detail = self._get_detail(filters)
6 for item in self.iter(filters):
7 self.delete_item(item.name)
8- if detail is 'id':
9+ if detail == 'id':
10 yield item.name
11- elif detail is 'all':
12+ elif detail == 'all':
13 yield dict(id=item.name)
14
15 def delete_item(self, name):
16@@ -293,14 +293,14 @@
17 def iter_detail(self, filters={}):
18 detail = self._get_detail(filters, 'id')
19 for item in self.iter(filters):
20- if detail is 'id':
21+ if detail == 'id':
22 yield item.name
23- elif detail is 'all':
24+ elif detail == 'all':
25 yield dict(id=item.name)
26
27 def _get_detail(self, filters, default=None):
28 detail = filters.get('detail', default)
29- if detail is 'none':
30+ if detail == 'none':
31 detail = None
32 elif detail is not None and detail not in ['id', 'all']:
33 raise burrow.backend.BadDetail(detail)
34
35=== modified file 'burrow/backend/sqlite.py'
36--- burrow/backend/sqlite.py 2011-07-22 18:41:54 +0000
37+++ burrow/backend/sqlite.py 2011-07-22 19:42:29 +0000
38@@ -78,9 +78,9 @@
39 break
40 limit -= 1
41 current_account = row[1]
42- if detail is 'id':
43+ if detail == 'id':
44 yield row[1]
45- elif detail is 'all':
46+ elif detail == 'all':
47 yield dict(id=row[1])
48 ids.append(row[0])
49 if len(ids) == 999:
50@@ -115,9 +115,9 @@
51 continue
52 elif marker is not None and not marker_found:
53 break
54- if detail is 'id':
55+ if detail == 'id':
56 yield row[0]
57- elif detail is 'all':
58+ elif detail == 'all':
59 yield dict(id=row[0])
60 if marker is not None and not marker_found:
61 filters = dict(filters)
62@@ -138,9 +138,9 @@
63 continue
64 elif marker is not None and not marker_found:
65 break
66- if detail is 'id':
67+ if detail == 'id':
68 yield row[1]
69- elif detail is 'all':
70+ elif detail == 'all':
71 yield dict(id=row[1])
72 ids.append(row[0])
73 if len(ids) == 999:
74@@ -166,9 +166,9 @@
75 continue
76 elif marker is not None and not marker_found:
77 break
78- if detail is 'id':
79+ if detail == 'id':
80 yield row[0]
81- elif detail is 'all':
82+ elif detail == 'all':
83 yield dict(id=row[0])
84 if marker is not None and not marker_found:
85 filters = dict(filters)
86@@ -199,7 +199,7 @@
87
88 def _get_detail(self, filters, default=None):
89 detail = filters.get('detail', default)
90- if detail is 'none':
91+ if detail == 'none':
92 detail = None
93 elif detail is not None and detail not in ['id', 'all']:
94 raise burrow.backend.BadDetail(detail)
95
96=== modified file 'burrow/frontend/wsgi.py'
97--- burrow/frontend/wsgi.py 2011-07-15 06:11:46 +0000
98+++ burrow/frontend/wsgi.py 2011-07-22 19:42:29 +0000
99@@ -70,10 +70,10 @@
100 self.default_ttl = int(self.config.get('default_ttl', DEFAULT_TTL))
101 self.default_hide = int(self.config.get('default_hide', DEFAULT_HIDE))
102 mapper = routes.Mapper()
103- mapper.connect('/', action='root')
104- mapper.connect('/v1.0', action='version')
105- mapper.connect('/v1.0/{account}', action='account')
106- mapper.connect('/v1.0/{account}/{queue}', action='queue')
107+ mapper.connect('/', action='versions')
108+ mapper.connect('/v1.0', action='accounts')
109+ mapper.connect('/v1.0/{account}', action='queues')
110+ mapper.connect('/v1.0/{account}/{queue}', action='messages')
111 mapper.connect('/v1.0/{account}/{queue}/{message}', action='message')
112 self._routes = routes.middleware.RoutesMiddleware(self._route, mapper)
113
114@@ -121,17 +121,20 @@
115 return method(req, **args)
116
117 @webob.dec.wsgify
118- def _get_root(self, _req):
119+ def _get_versions(self, _req):
120 return self._response(body=['v1.0'])
121
122 @webob.dec.wsgify
123- def _delete_version(self, req):
124+ def _delete_accounts(self, req):
125 filters = self._parse_filters(req)
126- [account for account in self.backend.delete_accounts(filters)]
127- return self._response()
128+ accounts = [account for account in
129+ self.backend.delete_accounts(filters)]
130+ if len(accounts) == 0:
131+ return self._response()
132+ return self._response(body=accounts)
133
134 @webob.dec.wsgify
135- def _get_version(self, req):
136+ def _get_accounts(self, req):
137 filters = self._parse_filters(req)
138 accounts = [account for account in self.backend.get_accounts(filters)]
139 if len(accounts) == 0:
140@@ -139,13 +142,16 @@
141 return self._response(body=accounts)
142
143 @webob.dec.wsgify
144- def _delete_account(self, req, account):
145+ def _delete_queues(self, req, account):
146 filters = self._parse_filters(req)
147- [queue for queue in self.backend.delete_queues(account, filters)]
148- return self._response()
149+ queues = [queue for queue in
150+ self.backend.delete_queues(account, filters)]
151+ if len(queues) == 0:
152+ return self._response()
153+ return self._response(body=queues)
154
155 @webob.dec.wsgify
156- def _get_account(self, req, account):
157+ def _get_queues(self, req, account):
158 filters = self._parse_filters(req)
159 queues = [queue for queue in self.backend.get_queues(account, filters)]
160 if len(queues) == 0:
161@@ -154,7 +160,7 @@
162
163 @webob.dec.wsgify
164 @wait_on_queue
165- def _delete_queue(self, req, account, queue):
166+ def _delete_messages(self, req, account, queue):
167 filters = self._parse_filters(req)
168 messages = [message for message in
169 self.backend.delete_messages(account, queue, filters)]
170@@ -162,7 +168,7 @@
171
172 @webob.dec.wsgify
173 @wait_on_queue
174- def _get_queue(self, req, account, queue):
175+ def _get_messages(self, req, account, queue):
176 filters = self._parse_filters(req)
177 messages = [message for message in
178 self.backend.get_messages(account, queue, filters)]
179@@ -170,7 +176,7 @@
180
181 @webob.dec.wsgify
182 @wait_on_queue
183- def _post_queue(self, req, account, queue):
184+ def _post_messages(self, req, account, queue):
185 attributes = self._parse_attributes(req)
186 filters = self._parse_filters(req)
187 messages = [message for message in
188@@ -257,6 +263,8 @@
189 if 'match_hidden' in req.params and \
190 req.params['match_hidden'].lower() == 'true':
191 filters['match_hidden'] = True
192+ if 'detail' in req.params:
193+ filters['detail'] = req.params['detail']
194 return filters
195
196 def _parse_attributes(self, req, default_ttl=None, default_hide=None):
197@@ -279,8 +287,8 @@
198 content_type = ''
199 else:
200 content_type = 'application/json'
201- if content_type is 'application/json':
202- body=json.dumps(body, indent=2)
203+ if content_type == 'application/json':
204+ body = json.dumps(body, indent=2)
205 if body is None and status == 200:
206 status = 204
207 return webob.Response(status=status, body=body,

Subscribers

People subscribed via source and target branches