~coolyashish/postorius/add_email_address_in_settings

« back to all changes in this revision

Viewing changes to src/postorius/tests/mailman_api_tests/test_list_metrics.py

  • Committer: Florian Fuchs
  • Date: 2015-02-10 16:33:22 UTC
  • mfrom: (192.1.18 testing)
  • Revision ID: flo.fuchs@gmail.com-20150210163322-yb5ypth2p6keafyf
* Reworked internal testing
* Documentation update

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from __future__ import (
 
2
    absolute_import, division, print_function, unicode_literals)
 
3
 
 
4
 
 
5
import six
 
6
import logging
 
7
 
 
8
 
 
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
 
14
 
 
15
from postorius.utils import get_client
 
16
from postorius.tests import MM_VCR
 
17
 
 
18
 
 
19
logger = logging.getLogger(__name__)
 
20
vcr_log = logging.getLogger('vcr')
 
21
vcr_log.setLevel(logging.WARNING)
 
22
 
 
23
 
 
24
TEST_API_CREDENTIALS = {'MAILMAN_API_URL': 'http://localhost:9001',
 
25
                        'MAILMAN_USER': 'restadmin',
 
26
                        'MAILMAN_PASS': 'restpass'}
 
27
 
 
28
 
 
29
@override_settings(**TEST_API_CREDENTIALS)
 
30
class TestListMetrics(SimpleTestCase):
 
31
 
 
32
    @MM_VCR.use_cassette('test_list_metrics.yaml')
 
33
    def setUp(self):
 
34
        self.mm_client = get_client()
 
35
        self.client = Client()
 
36
        try:
 
37
            self.domain = self.mm_client.create_domain('example.org')
 
38
        except HTTPError:
 
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')
 
45
 
 
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)
 
50
 
 
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)
 
56
 
 
57
    @MM_VCR.use_cassette('test_list_metrics.yaml')
 
58
    def tearDown(self):
 
59
        self.superuser.delete()
 
60
        self.test_list.delete()
 
61
        self.mm_client.delete_domain('example.org')