diff options
| author | Harshit Bansal | 2016-04-15 01:24:44 +0530 |
|---|---|---|
| committer | Barry Warsaw | 2016-04-28 20:58:44 -0400 |
| commit | 17103aae14f53655fd7685a0867724f6420b9282 (patch) | |
| tree | cc9b4419e10b583cc73e643d0a7fe2440d9cc010 /src/mailman/rest/tests/test_lists.py | |
| parent | a5a64b82570b2a925efe6588f876dc858e001716 (diff) | |
| download | mailman-17103aae14f53655fd7685a0867724f6420b9282.tar.gz mailman-17103aae14f53655fd7685a0867724f6420b9282.tar.zst mailman-17103aae14f53655fd7685a0867724f6420b9282.zip | |
Diffstat (limited to 'src/mailman/rest/tests/test_lists.py')
| -rw-r--r-- | src/mailman/rest/tests/test_lists.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/mailman/rest/tests/test_lists.py b/src/mailman/rest/tests/test_lists.py index 08c29151f..207743e50 100644 --- a/src/mailman/rest/tests/test_lists.py +++ b/src/mailman/rest/tests/test_lists.py @@ -213,6 +213,39 @@ class TestLists(unittest.TestCase): '/owner/nobody@example.com') self.assertEqual(cm.exception.code, 404) + def test_list_mass_unsubscribe(self): + with transaction(): + aperson = self._usermanager.create_address('aperson@test.com') + bperson = self._usermanager.create_address('bperson@test.com') + cperson = self._usermanager.create_address('cperson@test.com') + mlist = create_list('testlist@example.com') + mlist.subscribe(aperson) + mlist.subscribe(bperson) + mlist.subscribe(cperson) + with self.assertRaises(HTTPError) as cm: + call_api('http://localhost:9001/3.0/lists/bogus.example.com' + '/roster/member', None, 'DELETE') + self.assertEqual(cm.exception.code, 404) + with self.assertRaises(HTTPError) as cm: + call_api('http://localhost:9001/3.0/lists/testlist.example.com' + '/roster/member', None, 'DELETE') + self.assertEqual(cm.exception.code, 400) + self.assertEqual(cm.exception.reason, b'Invalid Input.') + resource, response = call_api( + 'http://127.0.0.1:9001/3.0/lists/testlist.example.com' + '/roster/member', {'emails': ['aperson@test.com']}, 'DELETE') + self.assertEqual(response.status, 204) + resource, response = call_api( + 'http://127.0.0.1:9001/3.0/lists/testlist.example.com' + '/roster/member', {'emails': ['bperson@test.com', + 'cperson@test.com', + 'bperson@test.com', + 'bogus@test.com']}, 'DELETE') + self.assertEqual(response.status, 200) + self.assertEqual(resource['bperson@test.com'], + 'Member already deleted.') + self.assertEqual(resource['bogus@test.com'], 'No such member.') + class TestListArchivers(unittest.TestCase): """Test corner cases for list archivers.""" |
