summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBarry Warsaw2011-08-14 18:57:27 -0400
committerBarry Warsaw2011-08-14 18:57:27 -0400
commit5fd5fd6ca3b2e0b3f7e25c815365f4ebaa0df247 (patch)
tree98846b62b08aa5f6786dcc96753a981d874ebd3f /src
parent061643ac76b4fba0b95b9e6260df44c69412ec07 (diff)
downloadmailman-5fd5fd6ca3b2e0b3f7e25c815365f4ebaa0df247.tar.gz
mailman-5fd5fd6ca3b2e0b3f7e25c815365f4ebaa0df247.tar.zst
mailman-5fd5fd6ca3b2e0b3f7e25c815365f4ebaa0df247.zip
* Fixed incorrect error code for /members/<bogus> (LP: #821020). Given by
Stephen A. Goss.
Diffstat (limited to 'src')
-rw-r--r--src/mailman/docs/NEWS.rst2
-rw-r--r--src/mailman/rest/members.py2
-rw-r--r--src/mailman/rest/tests/test_membership.py10
3 files changed, 14 insertions, 0 deletions
diff --git a/src/mailman/docs/NEWS.rst b/src/mailman/docs/NEWS.rst
index 4cb9a3bca..1057e2962 100644
--- a/src/mailman/docs/NEWS.rst
+++ b/src/mailman/docs/NEWS.rst
@@ -31,6 +31,8 @@ REST
optional). (LP: #799612)
* Fixed /lists/<fqdn_listname>/<role>/<email> (LP: #825570)
* Remove role plurals from /lists/<fqdn_listname/rosters/<role>
+ * Fixed incorrect error code for /members/<bogus> (LP: #821020). Given by
+ Stephen A. Goss.
Commands
--------
diff --git a/src/mailman/rest/members.py b/src/mailman/rest/members.py
index aea5df843..0a4b99470 100644
--- a/src/mailman/rest/members.py
+++ b/src/mailman/rest/members.py
@@ -96,6 +96,8 @@ class AMember(_MemberBase):
@resource.GET()
def member(self, request):
"""Return a single member end-point."""
+ if self._member is None:
+ return http.not_found()
return http.ok([], self._resource_as_json(self._member))
@resource.DELETE()
diff --git a/src/mailman/rest/tests/test_membership.py b/src/mailman/rest/tests/test_membership.py
index f82296355..db1c2e4d2 100644
--- a/src/mailman/rest/tests/test_membership.py
+++ b/src/mailman/rest/tests/test_membership.py
@@ -193,6 +193,16 @@ class TestMembership(unittest.TestCase):
entry_0 = content['entries'][0]
self.assertEqual(entry_0['address'], 'aperson@example.com')
+ def test_get_nonexistent_member(self):
+ # /members/<bogus> returns 404
+ try:
+ # For Python 2.6
+ call_api('http://localhost:9001/3.0/members/bogus')
+ except HTTPError as exc:
+ self.assertEqual(exc.code, 404)
+ else:
+ raise AssertionError('Expected HTTPError')
+
def test_suite():