diff options
| author | Barry Warsaw | 2015-12-31 11:42:46 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2015-12-31 11:44:27 -0500 |
| commit | 35577e20f8133880377f211eded6faafb60cffd3 (patch) | |
| tree | 902df082abc7919a4c8cc5a974cfd1b287780fc0 /src/mailman/rest/tests/test_addresses.py | |
| parent | dac929973fbfc7ac4c807afafc22b992510b4e6d (diff) | |
| download | mailman-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.py | 43 |
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): |
