summaryrefslogtreecommitdiff
path: root/src/mailman/rest/tests/test_addresses.py
diff options
context:
space:
mode:
authorBarry Warsaw2015-12-31 11:42:46 -0500
committerBarry Warsaw2015-12-31 11:44:27 -0500
commit35577e20f8133880377f211eded6faafb60cffd3 (patch)
tree902df082abc7919a4c8cc5a974cfd1b287780fc0 /src/mailman/rest/tests/test_addresses.py
parentdac929973fbfc7ac4c807afafc22b992510b4e6d (diff)
downloadmailman-35577e20f8133880377f211eded6faafb60cffd3.tar.gz
mailman-35577e20f8133880377f211eded6faafb60cffd3.tar.zst
mailman-35577e20f8133880377f211eded6faafb60cffd3.zip
Diffstat (limited to 'src/mailman/rest/tests/test_addresses.py')
-rw-r--r--src/mailman/rest/tests/test_addresses.py43
1 files changed, 42 insertions, 1 deletions
diff --git a/src/mailman/rest/tests/test_addresses.py b/src/mailman/rest/tests/test_addresses.py
index 8f8dc95e6..3199664d5 100644
--- a/src/mailman/rest/tests/test_addresses.py
+++ b/src/mailman/rest/tests/test_addresses.py
@@ -28,7 +28,7 @@ import unittest
from mailman.app.lifecycle import create_list
from mailman.database.transaction import transaction
from mailman.interfaces.usermanager import IUserManager
-from mailman.testing.helpers import call_api
+from mailman.testing.helpers import call_api, subscribe
from mailman.testing.layers import RESTLayer
from mailman.utilities.datetime import now
from urllib.error import HTTPError
@@ -63,6 +63,13 @@ class TestAddresses(unittest.TestCase):
'nobody@example.com/memberships')
self.assertEqual(cm.exception.code, 404)
+ def test_membership_of_address_with_no_user(self):
+ with transaction():
+ getUtility(IUserManager).create_address('anne@example.com')
+ response, content = call_api(
+ 'http://localhost:9001/3.0/addresses/anne@example.com/memberships')
+ self.assertEqual(response['total_size'], 0)
+
def test_verify_a_missing_address(self):
# POSTing to the 'verify' sub-resource returns a 404.
with self.assertRaises(HTTPError) as cm:
@@ -434,6 +441,40 @@ class TestAddresses(unittest.TestCase):
method='DELETE')
self.assertEqual(cm.exception.code, 404)
+ def test_bad_memberships_url(self):
+ with transaction():
+ subscribe(self._mlist, 'Anne')
+ with self.assertRaises(HTTPError) as cm:
+ call_api('http://localhost:9001/3.0/addresses/'
+ 'aperson@example.com/memberships/bogus')
+ self.assertEqual(cm.exception.code, 404)
+
+ def test_bad_preferences_url(self):
+ with transaction():
+ subscribe(self._mlist, 'Anne')
+ with self.assertRaises(HTTPError) as cm:
+ call_api('http://localhost:9001/3.0/addresses/'
+ 'aperson@example.com/preferences/bogus')
+ self.assertEqual(cm.exception.code, 404)
+
+ def test_bad_preferences_address(self):
+ with self.assertRaises(HTTPError) as cm:
+ call_api('http://localhost:9001/3.0/addresses/'
+ 'nobody@example.com/preferences')
+ self.assertEqual(cm.exception.code, 404)
+
+ def test_bad_user_address(self):
+ with self.assertRaises(HTTPError) as cm:
+ call_api('http://localhost:9001/3.0/addresses/'
+ 'nobody@example.com/user')
+ self.assertEqual(cm.exception.code, 404)
+
+ def test_bad_user_addresses_url(self):
+ with self.assertRaises(HTTPError) as cm:
+ call_api('http://localhost:9001/3.0/users/'
+ 'nobody@example.com/addresses')
+ self.assertEqual(cm.exception.code, 404)
+
class TestAPI31Addresses(unittest.TestCase):