1
from __future__ import (
2
absolute_import, division, print_function, unicode_literals)
9
from django.contrib.auth.models import User
10
from django.core.urlresolvers import reverse
11
from django.test import Client, SimpleTestCase
12
from django.test.utils import override_settings
13
from six.moves.urllib_error import HTTPError
15
from postorius.utils import get_client
16
from postorius.tests import MM_VCR
19
logger = logging.getLogger(__name__)
20
vcr_log = logging.getLogger('vcr')
21
vcr_log.setLevel(logging.WARNING)
24
TEST_API_CREDENTIALS = {'MAILMAN_API_URL': 'http://localhost:9001',
25
'MAILMAN_USER': 'restadmin',
26
'MAILMAN_PASS': 'restpass'}
29
@override_settings(**TEST_API_CREDENTIALS)
30
class TestListMetrics(SimpleTestCase):
32
@MM_VCR.use_cassette('test_list_metrics.yaml')
34
self.mm_client = get_client()
35
self.client = Client()
37
self.domain = self.mm_client.create_domain('example.org')
39
self.domain = self.mm_client.get_domain('example.org')
40
self.domain.create_list('test')
41
self.test_list = self.mm_client.get_list('test@example.org')
42
User.objects.filter(username='su').delete()
43
self.superuser = User.objects.create_superuser(
44
'su', 'su@example.com', 'pwd')
46
@MM_VCR.use_cassette('test_list_metrics.yaml')
47
def test_metrics_page_not_accessible_to_anonymous(self):
48
response = self.client.get(reverse('list_metrics', args=['test@example.org']))
49
self.assertEqual(response.status_code, 403)
51
@MM_VCR.use_cassette('test_list_metrics.yaml')
52
def test_metrics_page_contains_metrics(self):
53
self.client.login(username='su', password='pwd')
54
response = self.client.get(reverse('list_metrics', args=['test@example.org']))
55
self.assertEqual(response.status_code, 200)
57
@MM_VCR.use_cassette('test_list_metrics.yaml')
59
self.superuser.delete()
60
self.test_list.delete()
61
self.mm_client.delete_domain('example.org')