~barry/mailman/lp1423756

« back to all changes in this revision

Viewing changes to src/mailman/rest/tests/test_domains.py

  • Committer: Barry Warsaw
  • Date: 2015-01-05 01:20:33 UTC
  • mfrom: (7264.4.66 py3)
  • Revision ID: barry@list.org-20150105012033-zdrw9c2odhpf22fz
Merge the Python 3 branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
"""REST domain tests."""
19
19
 
20
 
from __future__ import absolute_import, print_function, unicode_literals
21
 
 
22
 
__metaclass__ = type
23
20
__all__ = [
24
21
    'TestDomains',
25
22
    ]
27
24
 
28
25
import unittest
29
26
 
30
 
from urllib2 import HTTPError
31
 
from zope.component import getUtility
32
 
 
33
27
from mailman.app.lifecycle import create_list
34
28
from mailman.database.transaction import transaction
35
29
from mailman.interfaces.listmanager import IListManager
36
30
from mailman.testing.helpers import call_api
37
31
from mailman.testing.layers import RESTLayer
 
32
from six.moves.urllib_error import HTTPError
 
33
from zope.component import getUtility
38
34
 
39
35
 
40
36
 
65
61
        content, response = call_api(
66
62
            'http://localhost:9001/3.0/domains/example.com', method='DELETE')
67
63
        self.assertEqual(response.status, 204)
68
 
        self.assertEqual(getUtility(IListManager).get('ant@example.com'), None)
 
64
        self.assertIsNone(getUtility(IListManager).get('ant@example.com'))
69
65
 
70
66
    def test_missing_domain(self):
71
67
        # You get a 404 if you try to access a nonexisting domain.
80
76
            call_api(
81
77
                'http://localhost:9001/3.0/domains/does-not-exist.com/lists')
82
78
        self.assertEqual(cm.exception.code, 404)
 
79
 
 
80
    def test_double_delete(self):
 
81
        # You cannot delete a domain twice.
 
82
        content, response = call_api(
 
83
            'http://localhost:9001/3.0/domains/example.com',
 
84
            method='DELETE')
 
85
        self.assertEqual(response.status, 204)
 
86
        with self.assertRaises(HTTPError) as cm:
 
87
            call_api('http://localhost:9001/3.0/domains/example.com',
 
88
                     method='DELETE')
 
89
        self.assertEqual(cm.exception.code, 404)