~rajeevs1992/mailman.client/mailmancli

« back to all changes in this revision

Viewing changes to src/mailmanclient/cli/tests/test_preference.py

  • Committer: Rajeev S
  • Date: 2015-03-17 19:05:45 UTC
  • Revision ID: rajeevs1992@gmail.com-20150317190545-xs76yrmktmsvu76m
- fixed bug in update global preference, which is readonly
- fixed/improved a few test cases

Global preferences are readonly, which is mentioned in the mmclient docs.
Option to edit the global preferences, which were previously allowed in 
CLI are removed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
#               Barry Warsaw <barry@list.org>
25
25
 
26
26
import unittest
 
27
from mailmanclient.cli.core.preferences import Preferences
27
28
from mailmanclient.cli.lib.mailman_utils import MailmanUtils
28
29
 
29
30
 
42
43
 
43
44
    def setUp(self):
44
45
        self.client = utils.connect()
 
46
        self.preferences = Preferences(self.client)
45
47
        self.test_user = 'a@' + utils.get_random_string(5) + '.com'
46
 
        self.test_user = self.client.create_user(self.test_user, display_name='a',
 
48
        self.test_user = self.client.create_user(self.test_user,
 
49
                                                 display_name='a',
47
50
                                                 password='a')
48
51
        self.new_objects.append(self.test_user)
49
52
 
57
60
 
58
61
        self.test_address = self.test_user.addresses[0]
59
62
 
60
 
    def test_global(self):
61
 
        pref = self.client.preferences
62
 
        pref['receive_list_copy'] = False
63
 
        pref.save()
64
 
        pref = self.client.preferences
65
 
        self.assertFalse(pref['receive_list_copy'])
66
 
 
67
63
    def test_user(self):
68
 
        pref = self.test_user.preferences
69
 
        pref['receive_list_copy'] = False
70
 
        pref.save()
71
 
        pref = self.test_user.preferences
72
 
        self.assertFalse(pref['receive_list_copy'])
 
64
        args = {}
 
65
        args['update_scope'] = 'user'
 
66
        args['email'] = self.test_user.addresses[0]
 
67
        args['key'] = 'receive_list_copy'
 
68
        args['value'] = 'False'
 
69
        self.preferences.update(args)
 
70
        self.assertFalse(self.test_user.preferences['receive_list_copy'])
73
71
 
74
72
    def test_address(self):
75
 
        pref = self.test_address.preferences
76
 
        pref['receive_list_copy'] = False
77
 
        pref.save()
78
 
        pref = self.test_address.preferences
79
 
        self.assertFalse(pref['receive_list_copy'])
 
73
        args = {}
 
74
        args['update_scope'] = 'address'
 
75
        args['email'] = self.test_address
 
76
        args['key'] = 'receive_list_copy'
 
77
        args['value'] = 'False'
 
78
        self.preferences.update(args)
 
79
        self.assertFalse(self.test_address.preferences['receive_list_copy'])
80
80
 
81
81
    def test_member(self):
82
 
        pref = self.test_member.preferences
83
 
        pref['receive_list_copy'] = False
84
 
        pref.save()
85
 
        pref = self.test_member.preferences
86
 
        self.assertFalse(pref['receive_list_copy'])
 
82
        args = {}
 
83
        args['update_scope'] = 'member'
 
84
        args['email'] = self.test_member.email
 
85
        args['list'] = self.test_list.fqdn_listname
 
86
        args['key'] = 'receive_list_copy'
 
87
        args['value'] = 'False'
 
88
        self.preferences.update(args)
 
89
        self.assertFalse(self.test_member.preferences['receive_list_copy'])
87
90
 
88
91
    def tearDown(self):
89
92
        for obj in self.new_objects: