Merge lp:~thisfred/u1db/bug-1029569 into lp:u1db

Proposed by Eric Casteleijn
Status: Merged
Approved by: Eric Casteleijn
Approved revision: 434
Merged at revision: 434
Proposed branch: lp:~thisfred/u1db/bug-1029569
Merge into: lp:u1db
Diff against target: 52 lines (+11/-2)
2 files modified
u1db/remote/http_app.py (+1/-1)
u1db/tests/test_http_app.py (+10/-1)
To merge this branch: bzr merge lp:~thisfred/u1db/bug-1029569
Reviewer Review Type Date Requested Status
dobey (community) Approve
Review via email: mp+129753@code.launchpad.net

Commit message

handle empty value for doc ids correctly

Description of the change

handle empty value for doc ids correctly

To post a comment you must log in.
Revision history for this message
dobey (dobey) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'u1db/remote/http_app.py'
--- u1db/remote/http_app.py 2012-10-12 14:51:08 +0000
+++ u1db/remote/http_app.py 2012-10-15 20:19:24 +0000
@@ -49,7 +49,7 @@
4949
5050
51def parse_list(expression):51def parse_list(expression):
52 if expression is None:52 if not expression:
53 return []53 return []
54 return [t.strip() for t in expression.split(',')]54 return [t.strip() for t in expression.split(',')]
5555
5656
=== modified file 'u1db/tests/test_http_app.py'
--- u1db/tests/test_http_app.py 2012-10-12 14:00:15 +0000
+++ u1db/tests/test_http_app.py 2012-10-15 20:19:24 +0000
@@ -286,7 +286,7 @@
286 'CONTENT_TYPE': 'application/json ; charset="utf-8"'}286 'CONTENT_TYPE': 'application/json ; charset="utf-8"'}
287 invoke = http_app.HTTPInvocationByMethodWithBody(resource, environ,287 invoke = http_app.HTTPInvocationByMethodWithBody(resource, environ,
288 parameters)288 parameters)
289 res = invoke()289 invoke()
290 self.assertEqual('{"body": true}', resource.content)290 self.assertEqual('{"body": true}', resource.content)
291291
292 def test_put_sync_stream(self):292 def test_put_sync_stream(self):
@@ -721,6 +721,13 @@
721 "has_conflicts": False}]721 "has_conflicts": False}]
722 self.assertEqual(expected, json.loads(resp.body))722 self.assertEqual(expected, json.loads(resp.body))
723723
724 def test_get_docs_empty_docids(self):
725 resp = self.app.get('/db0/docs?doc_ids=', expect_errors=True)
726 self.assertEqual(400, resp.status)
727 self.assertEqual('application/json', resp.header('content-type'))
728 self.assertEqual(
729 {"error": "missing document ids"}, json.loads(resp.body))
730
724 def test_get_docs_missing_doc_ids(self):731 def test_get_docs_missing_doc_ids(self):
725 resp = self.app.get('/db0/docs', expect_errors=True)732 resp = self.app.get('/db0/docs', expect_errors=True)
726 self.assertEqual(400, resp.status)733 self.assertEqual(400, resp.status)
@@ -787,10 +794,12 @@
787 self.assertEqual(200, resp.status)794 self.assertEqual(200, resp.status)
788 self.assertEqual(795 self.assertEqual(
789 'application/json', resp.header('content-type'))796 'application/json', resp.header('content-type'))
797
790 def doc_to_dic(doc):798 def doc_to_dic(doc):
791 return dict(doc_id=doc.doc_id, doc_rev=doc.rev,799 return dict(doc_id=doc.doc_id, doc_rev=doc.rev,
792 content=doc.get_json(),800 content=doc.get_json(),
793 has_conflicts=doc.has_conflicts)801 has_conflicts=doc.has_conflicts)
802
794 expected = sorted([doc_to_dic(doc1), doc_to_dic(doc2)])803 expected = sorted([doc_to_dic(doc1), doc_to_dic(doc2)])
795 self.assertEqual(expected, sorted(json.loads(resp.body)))804 self.assertEqual(expected, sorted(json.loads(resp.body)))
796 self.assertEqual(2, int(resp.header('x-u1db-generation')))805 self.assertEqual(2, int(resp.header('x-u1db-generation')))

Subscribers

People subscribed via source and target branches