GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

test_constructor()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 8

Duplication

Lines 8
Ratio 100 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
dl 8
loc 8
rs 9.4285
1
from django.test import TestCase, override_settings
2
from ... import add_permission_logic
3
from ...logics import CollaboratorsPermissionLogic
4
from ..utils import create_user, create_anonymous, create_article
5
from ..compat import MagicMock
6
7
8
@override_settings(
9
    PERMISSION_DEFAULT_CPL_FIELD_NAME='authors',
10
    PERMISSION_DEFAULT_CPL_ANY_PERMISSION=True,
11
    PERMISSION_DEFAULT_CPL_CHANGE_PERMISSION=True,
12
    PERMISSION_DEFAULT_CPL_DELETE_PERMISSION=True,
13
)
14
class PermissionLogicsCollaboratorsPermissionLogicTestCase(TestCase):
15 View Code Duplication
    def setUp(self):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
16
        self.user1 = create_user('john')
17
        self.user2 = create_user('tony')
18
        self.anonymous = create_anonymous()
19
        self.perm1 = 'permission.add_article'
20
        self.perm2 = 'permission.change_article'
21
        self.perm3 = 'permission.delete_article'
22
        self.article = create_article('test')
23
        self.article.authors.add(self.user2)
24
25
    def test_constructor(self):
26
        permission_logic = CollaboratorsPermissionLogic()
27
        add_permission_logic(self.article.__class__, permission_logic)
28
        self.assertTrue(isinstance(permission_logic, CollaboratorsPermissionLogic))
29
        self.assertEqual(permission_logic.field_name, 'authors')
30
        self.assertEqual(permission_logic.any_permission, True)
31
        self.assertEqual(permission_logic.change_permission, True)
32
        self.assertEqual(permission_logic.delete_permission, True)
33
34
    def test_constructor_with_specifing_field_name(self):
35
        permission_logic = CollaboratorsPermissionLogic(field_name='specified')
36
        add_permission_logic(self.article.__class__, permission_logic)
37
        self.assertTrue(isinstance(permission_logic, CollaboratorsPermissionLogic))
38
        self.assertEqual(permission_logic.field_name, 'specified')
39
40
    def test_constructor_with_specifing_any_permission(self):
41
        permission_logic = CollaboratorsPermissionLogic(any_permission=False)
42
        add_permission_logic(self.article.__class__, permission_logic)
43
        self.assertTrue(isinstance(permission_logic, CollaboratorsPermissionLogic))
44
        self.assertEqual(permission_logic.any_permission, False)
45
46
    def test_constructor_with_specifing_change_permission(self):
47
        permission_logic = CollaboratorsPermissionLogic(change_permission=False)
48
        add_permission_logic(self.article.__class__, permission_logic)
49
        self.assertTrue(isinstance(permission_logic, CollaboratorsPermissionLogic))
50
        self.assertEqual(permission_logic.change_permission, False)
51
52
    def test_constructor_with_specifing_delete_permission(self):
53
        permission_logic = CollaboratorsPermissionLogic(delete_permission=False)
54
        add_permission_logic(self.article.__class__, permission_logic)
55
        self.assertTrue(isinstance(permission_logic, CollaboratorsPermissionLogic))
56
        self.assertEqual(permission_logic.delete_permission, False)
57
58
    def test_has_perm_add_without_obj(self):
59
        permission_logic = CollaboratorsPermissionLogic()
60
        add_permission_logic(self.article.__class__, permission_logic)
61
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm1))
62
63
    def test_has_perm_change_without_obj(self):
64
        permission_logic = CollaboratorsPermissionLogic()
65
        add_permission_logic(self.article.__class__, permission_logic)
66
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm2))
67
68
    def test_has_perm_delete_without_obj(self):
69
        permission_logic = CollaboratorsPermissionLogic()
70
        add_permission_logic(self.article.__class__, permission_logic)
71
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm3))
72
73
    def test_has_perm_add_with_obj(self):
74
        permission_logic = CollaboratorsPermissionLogic()
75
        add_permission_logic(self.article.__class__, permission_logic)
76
        self.assertFalse(
77
                permission_logic.has_perm(self.user1, self.perm1, self.article))
78
79
    def test_has_perm_change_with_obj(self):
80
        permission_logic = CollaboratorsPermissionLogic()
81
        add_permission_logic(self.article.__class__, permission_logic)
82
        self.assertFalse(
83
                permission_logic.has_perm(self.user1, self.perm2, self.article))
84
85
    def test_has_perm_delete_with_obj(self):
86
        permission_logic = CollaboratorsPermissionLogic()
87
        add_permission_logic(self.article.__class__, permission_logic)
88
        self.assertFalse(
89
                permission_logic.has_perm(self.user1, self.perm3, self.article))
90
91
    def test_has_perm_add_without_obj_with_anonymous(self):
92
        permission_logic = CollaboratorsPermissionLogic()
93
        add_permission_logic(self.article.__class__, permission_logic)
94
        self.assertFalse(permission_logic.has_perm(self.anonymous, self.perm1))
95
96
    def test_has_perm_change_without_obj_with_anonymous(self):
97
        permission_logic = CollaboratorsPermissionLogic()
98
        add_permission_logic(self.article.__class__, permission_logic)
99
        self.assertFalse(permission_logic.has_perm(self.anonymous, self.perm2))
100
101
    def test_has_perm_delete_without_obj_with_anonymous(self):
102
        permission_logic = CollaboratorsPermissionLogic()
103
        add_permission_logic(self.article.__class__, permission_logic)
104
        self.assertFalse(permission_logic.has_perm(self.anonymous, self.perm3))
105
106
    def test_has_perm_add_with_obj_with_anonymous(self):
107
        permission_logic = CollaboratorsPermissionLogic()
108
        add_permission_logic(self.article.__class__, permission_logic)
109
        self.assertFalse(
110
            permission_logic.has_perm(self.anonymous, self.perm1, self.article))
111
112
    def test_has_perm_change_with_obj_with_anonymous(self):
113
        permission_logic = CollaboratorsPermissionLogic()
114
        add_permission_logic(self.article.__class__, permission_logic)
115
        self.assertFalse(
116
            permission_logic.has_perm(self.anonymous, self.perm2, self.article))
117
118
    def test_has_perm_delete_with_obj_with_anonymous(self):
119
        permission_logic = CollaboratorsPermissionLogic()
120
        add_permission_logic(self.article.__class__, permission_logic)
121
        self.assertFalse(
122
            permission_logic.has_perm(self.anonymous, self.perm3, self.article))
123
124
    def test_has_perm_add_with_obj_collaborators(self):
125
        permission_logic = CollaboratorsPermissionLogic()
126
        add_permission_logic(self.article.__class__, permission_logic)
127
        self.assertTrue(
128
                permission_logic.has_perm(self.user2, self.perm1, self.article))
129
130
    def test_has_perm_change_with_obj_collaborators(self):
131
        permission_logic = CollaboratorsPermissionLogic()
132
        add_permission_logic(self.article.__class__, permission_logic)
133
        self.assertTrue(
134
                permission_logic.has_perm(self.user2, self.perm2, self.article))
135
136
    def test_has_perm_delete_with_obj_collaborators(self):
137
        permission_logic = CollaboratorsPermissionLogic()
138
        add_permission_logic(self.article.__class__, permission_logic)
139
        self.assertTrue(
140
                permission_logic.has_perm(self.user2, self.perm3, self.article))
141
142
    def test_has_perm_add_with_obj_collaborators_diff_field_name(self):
143
        permission_logic = CollaboratorsPermissionLogic(field_name='editors')
144
        add_permission_logic(self.article.__class__, permission_logic)
145
        self.assertFalse(
146
                permission_logic.has_perm(self.user2, self.perm1, self.article))
147
148
    def test_has_perm_change_with_obj_collaborators_diff_field_name(self):
149
        permission_logic = CollaboratorsPermissionLogic(field_name='editors')
150
        add_permission_logic(self.article.__class__, permission_logic)
151
        self.assertFalse(
152
                permission_logic.has_perm(self.user2, self.perm2, self.article))
153
154
    def test_has_perm_delete_with_obj_collaborators_diff_field_name(self):
155
        permission_logic = CollaboratorsPermissionLogic(field_name='editors')
156
        add_permission_logic(self.article.__class__, permission_logic)
157
        self.assertFalse(
158
                permission_logic.has_perm(self.user2, self.perm3, self.article))
159
160
    def test_has_perm_add_with_obj_collaborators_non_any(self):
161
        permission_logic = CollaboratorsPermissionLogic(any_permission=False)
162
        add_permission_logic(self.article.__class__, permission_logic)
163
        self.assertFalse(
164
                permission_logic.has_perm(self.user2, self.perm1, self.article))
165
166
    def test_has_perm_change_with_obj_collaborators_non_any(self):
167
        permission_logic = CollaboratorsPermissionLogic(any_permission=False)
168
        add_permission_logic(self.article.__class__, permission_logic)
169
        self.assertTrue(
170
                permission_logic.has_perm(self.user2, self.perm2, self.article))
171
172
    def test_has_perm_delete_with_obj_non_any(self):
173
        permission_logic = CollaboratorsPermissionLogic(any_permission=False)
174
        add_permission_logic(self.article.__class__, permission_logic)
175
        self.assertTrue(
176
                permission_logic.has_perm(self.user2, self.perm3, self.article))
177
178
    def test_has_perm_add_with_obj_collaborators_non_any_no_change(self):
179
        permission_logic = CollaboratorsPermissionLogic(any_permission=False,
180
                                                 change_permission=False)
181
        add_permission_logic(self.article.__class__, permission_logic)
182
        self.assertFalse(
183
                permission_logic.has_perm(self.user2, self.perm1, self.article))
184
185
    def test_has_perm_change_with_obj_collaborators_non_any_no_change(self):
186
        permission_logic = CollaboratorsPermissionLogic(any_permission=False,
187
                                                 change_permission=False)
188
        add_permission_logic(self.article.__class__, permission_logic)
189
        self.assertFalse(
190
                permission_logic.has_perm(self.user2, self.perm2, self.article))
191
192
    def test_has_perm_delete_with_obj_non_any_no_change(self):
193
        permission_logic = CollaboratorsPermissionLogic(any_permission=False,
194
                                                 change_permission=False)
195
        add_permission_logic(self.article.__class__, permission_logic)
196
        self.assertTrue(
197
                permission_logic.has_perm(self.user2, self.perm3, self.article))
198
199
    def test_has_perm_add_with_obj_collaborators_non_any_no_delete(self):
200
        permission_logic = CollaboratorsPermissionLogic(any_permission=False,
201
                                                 delete_permission=False)
202
        add_permission_logic(self.article.__class__, permission_logic)
203
        self.assertFalse(
204
                permission_logic.has_perm(self.user2, self.perm1, self.article))
205
206
    def test_has_perm_change_with_obj_collaborators_non_any_no_delete(self):
207
        permission_logic = CollaboratorsPermissionLogic(any_permission=False,
208
                                                 delete_permission=False)
209
        add_permission_logic(self.article.__class__, permission_logic)
210
        self.assertTrue(
211
                permission_logic.has_perm(self.user2, self.perm2, self.article))
212
213
    def test_has_perm_delete_with_obj_non_any_no_delete(self):
214
        permission_logic = CollaboratorsPermissionLogic(any_permission=False,
215
                                                 delete_permission=False)
216
        add_permission_logic(self.article.__class__, permission_logic)
217
        self.assertFalse(
218
                permission_logic.has_perm(self.user2, self.perm3, self.article))
219