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_with_specifing_delete_permission()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 1
c 2
b 0
f 0
dl 0
loc 6
rs 9.4285
1
# coding=utf-8
2
from django.test import TestCase, override_settings
3
from ...logics import GroupInPermissionLogic
4
from ...utils.logics import add_permission_logic
5
from ..utils import create_user, create_anonymous, create_group, create_article
6
from ..compat import MagicMock
7
8
9
@override_settings(
10
    PERMISSION_DEFAULT_GIPL_ANY_PERMISSION=True,
11
    PERMISSION_DEFAULT_GIPL_ADD_PERMISSION=True,
12
    PERMISSION_DEFAULT_GIPL_CHANGE_PERMISSION=True,
13
    PERMISSION_DEFAULT_GIPL_DELETE_PERMISSION=True,
14
)
15
class PermissionLogicsAuthorPermissionLogicTestCase(TestCase):
16
    def setUp(self):
17
        self.user1 = create_user('john')
18
        self.user2 = create_user('tony')
19
        self.user3 = create_user('peter')
20
        self.anonymous = create_anonymous()
21
        self.group1 = create_group('admin', self.user1)
22
        self.group2 = create_group('staff', self.user2)
23
        self.perm1 = 'permission.add_article'
24
        self.perm2 = 'permission.change_article'
25
        self.perm3 = 'permission.delete_article'
26
        self.article = create_article('test')
27
28
    def test_constructor(self):
29
        permission_logic = GroupInPermissionLogic('admin')
30
        add_permission_logic(self.article.__class__, permission_logic)
31
32
        self.assertTrue(isinstance(permission_logic, GroupInPermissionLogic))
33
        self.assertEqual(permission_logic.group_names, ['admin'])
34
        self.assertEqual(permission_logic.any_permission, True)
35
        self.assertEqual(permission_logic.add_permission, True)
36
        self.assertEqual(permission_logic.change_permission, True)
37
        self.assertEqual(permission_logic.delete_permission, True)
38
39
        permission_logic = GroupInPermissionLogic(['admin', 'staff'])
40
        self.assertTrue(isinstance(permission_logic, GroupInPermissionLogic))
41
        self.assertEqual(permission_logic.group_names, ['admin', 'staff'])
42
        self.assertEqual(permission_logic.any_permission, True)
43
        self.assertEqual(permission_logic.add_permission, True)
44
        self.assertEqual(permission_logic.change_permission, True)
45
        self.assertEqual(permission_logic.delete_permission, True)
46
47
    def test_constructor_with_specifing_any_permission(self):
48
        permission_logic = GroupInPermissionLogic('admin', any_permission=False)
49
        add_permission_logic(self.article.__class__, permission_logic)
50
51
        self.assertTrue(isinstance(permission_logic, GroupInPermissionLogic))
52
        self.assertEqual(permission_logic.any_permission, False)
53
54
    def test_constructor_with_specifing_add_permission(self):
55
        permission_logic = GroupInPermissionLogic('admin', add_permission=False)
56
        add_permission_logic(self.article.__class__, permission_logic)
57
58
        self.assertTrue(isinstance(permission_logic, GroupInPermissionLogic))
59
        self.assertEqual(permission_logic.add_permission, False)
60
61
    def test_constructor_with_specifing_change_permission(self):
62
        permission_logic = GroupInPermissionLogic('admin', change_permission=False)
63
        add_permission_logic(self.article.__class__, permission_logic)
64
65
        self.assertTrue(isinstance(permission_logic, GroupInPermissionLogic))
66
        self.assertEqual(permission_logic.change_permission, False)
67
68
    def test_constructor_with_specifing_delete_permission(self):
69
        permission_logic = GroupInPermissionLogic('admin', delete_permission=False)
70
        add_permission_logic(self.article.__class__, permission_logic)
71
72
        self.assertTrue(isinstance(permission_logic, GroupInPermissionLogic))
73
        self.assertEqual(permission_logic.delete_permission, False)
74
75
    def test_has_perm_add_without_obj(self):
76
        permission_logic = GroupInPermissionLogic('admin')
77
        add_permission_logic(self.article.__class__, permission_logic)
78
79
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm1))
80
        self.assertFalse(permission_logic.has_perm(self.user2, self.perm1))
81
        self.assertFalse(permission_logic.has_perm(self.user3, self.perm1))
82
83
    def test_has_perm_change_without_obj(self):
84
        permission_logic = GroupInPermissionLogic('admin')
85
        add_permission_logic(self.article.__class__, permission_logic)
86
87
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm2))
88
        self.assertFalse(permission_logic.has_perm(self.user2, self.perm2))
89
        self.assertFalse(permission_logic.has_perm(self.user3, self.perm2))
90
91
    def test_has_perm_delete_without_obj(self):
92
        permission_logic = GroupInPermissionLogic('admin')
93
        add_permission_logic(self.article.__class__, permission_logic)
94
95
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm3))
96
        self.assertFalse(permission_logic.has_perm(self.user2, self.perm3))
97
        self.assertFalse(permission_logic.has_perm(self.user3, self.perm3))
98
99
    def test_has_perm_add_with_obj(self):
100
        permission_logic = GroupInPermissionLogic('admin')
101
        add_permission_logic(self.article.__class__, permission_logic)
102
103
        self.assertTrue(
104
                permission_logic.has_perm(self.user1, self.perm1, self.article))
105
        self.assertFalse(
106
                permission_logic.has_perm(self.user2, self.perm1, self.article))
107
        self.assertFalse(
108
                permission_logic.has_perm(self.user3, self.perm1, self.article))
109
110
    def test_has_perm_change_with_obj(self):
111
        permission_logic = GroupInPermissionLogic('admin')
112
        add_permission_logic(self.article.__class__, permission_logic)
113
114
        self.assertTrue(
115
                permission_logic.has_perm(self.user1, self.perm2, self.article))
116
        self.assertFalse(
117
                permission_logic.has_perm(self.user2, self.perm2, self.article))
118
        self.assertFalse(
119
                permission_logic.has_perm(self.user3, self.perm2, self.article))
120
121
    def test_has_perm_delete_with_obj(self):
122
        permission_logic = GroupInPermissionLogic('admin')
123
        add_permission_logic(self.article.__class__, permission_logic)
124
125
        self.assertTrue(
126
                permission_logic.has_perm(self.user1, self.perm3, self.article))
127
        self.assertFalse(
128
                permission_logic.has_perm(self.user2, self.perm3, self.article))
129
        self.assertFalse(
130
                permission_logic.has_perm(self.user3, self.perm3, self.article))
131
132
    def test_has_perm_add_without_obj_with_anonymous(self):
133
        permission_logic = GroupInPermissionLogic('admin')
134
        add_permission_logic(self.article.__class__, permission_logic)
135
        self.assertFalse(permission_logic.has_perm(self.anonymous, self.perm1))
136
137
    def test_has_perm_change_without_obj_with_anonymous(self):
138
        permission_logic = GroupInPermissionLogic('admin')
139
        add_permission_logic(self.article.__class__, permission_logic)
140
        self.assertFalse(permission_logic.has_perm(self.anonymous, self.perm2))
141
142
    def test_has_perm_delete_without_obj_with_anonymous(self):
143
        permission_logic = GroupInPermissionLogic('admin')
144
        add_permission_logic(self.article.__class__, permission_logic)
145
        self.assertFalse(permission_logic.has_perm(self.anonymous, self.perm3))
146
147
    def test_has_perm_add_with_obj_with_anonymous(self):
148
        permission_logic = GroupInPermissionLogic('admin')
149
        add_permission_logic(self.article.__class__, permission_logic)
150
        self.assertFalse(
151
            permission_logic.has_perm(self.anonymous, self.perm1, self.article))
152
153
    def test_has_perm_change_with_obj_with_anonymous(self):
154
        permission_logic = GroupInPermissionLogic('admin')
155
        add_permission_logic(self.article.__class__, permission_logic)
156
        self.assertFalse(
157
            permission_logic.has_perm(self.anonymous, self.perm2, self.article))
158
159
    def test_has_perm_delete_with_obj_with_anonymous(self):
160
        permission_logic = GroupInPermissionLogic('admin')
161
        add_permission_logic(self.article.__class__, permission_logic)
162
        self.assertFalse(
163
            permission_logic.has_perm(self.anonymous, self.perm3, self.article))
164
165
    def test_has_perm_add_without_obj_with_two_groups(self):
166
        permission_logic = GroupInPermissionLogic(['admin', 'staff'])
167
        add_permission_logic(self.article.__class__, permission_logic)
168
169
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm1))
170
        self.assertTrue(permission_logic.has_perm(self.user2, self.perm1))
171
        self.assertFalse(permission_logic.has_perm(self.user3, self.perm1))
172
173
    def test_has_perm_change_without_obj_with_two_groups(self):
174
        permission_logic = GroupInPermissionLogic(['admin', 'staff'])
175
        add_permission_logic(self.article.__class__, permission_logic)
176
177
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm2))
178
        self.assertTrue(permission_logic.has_perm(self.user2, self.perm2))
179
        self.assertFalse(permission_logic.has_perm(self.user3, self.perm2))
180
181
    def test_has_perm_delete_without_obj_with_two_groups(self):
182
        permission_logic = GroupInPermissionLogic(['admin', 'staff'])
183
        add_permission_logic(self.article.__class__, permission_logic)
184
185
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm3))
186
        self.assertTrue(permission_logic.has_perm(self.user2, self.perm3))
187
        self.assertFalse(permission_logic.has_perm(self.user3, self.perm3))
188
189
    def test_has_perm_add_with_obj_with_two_groups(self):
190
        permission_logic = GroupInPermissionLogic(['admin', 'staff'])
191
        add_permission_logic(self.article.__class__, permission_logic)
192
193
        self.assertTrue(
194
                permission_logic.has_perm(self.user1, self.perm1, self.article))
195
        self.assertTrue(
196
                permission_logic.has_perm(self.user2, self.perm1, self.article))
197
        self.assertFalse(
198
                permission_logic.has_perm(self.user3, self.perm1, self.article))
199
200
    def test_has_perm_change_with_obj_with_two_groups(self):
201
        permission_logic = GroupInPermissionLogic(['admin', 'staff'])
202
        add_permission_logic(self.article.__class__, permission_logic)
203
204
        self.assertTrue(
205
                permission_logic.has_perm(self.user1, self.perm2, self.article))
206
        self.assertTrue(
207
                permission_logic.has_perm(self.user2, self.perm2, self.article))
208
        self.assertFalse(
209
                permission_logic.has_perm(self.user3, self.perm2, self.article))
210
211
    def test_has_perm_delete_with_obj_with_two_groups(self):
212
        permission_logic = GroupInPermissionLogic(['admin', 'staff'])
213
        add_permission_logic(self.article.__class__, permission_logic)
214
215
        self.assertTrue(
216
                permission_logic.has_perm(self.user1, self.perm3, self.article))
217
        self.assertTrue(
218
                permission_logic.has_perm(self.user2, self.perm3, self.article))
219
        self.assertFalse(
220
                permission_logic.has_perm(self.user3, self.perm3, self.article))
221
222
    def test_has_perm_add_without_obj_without_any_permission(self):
223
        permission_logic = GroupInPermissionLogic('admin', any_permission=False)
224
        add_permission_logic(self.article.__class__, permission_logic)
225
226
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm1))
227
        self.assertFalse(permission_logic.has_perm(self.user2, self.perm1))
228
        self.assertFalse(permission_logic.has_perm(self.user3, self.perm1))
229
230
    def test_has_perm_change_without_obj_without_any_permission(self):
231
        permission_logic = GroupInPermissionLogic('admin', any_permission=False)
232
        add_permission_logic(self.article.__class__, permission_logic)
233
234
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm2))
235
        self.assertFalse(permission_logic.has_perm(self.user2, self.perm2))
236
        self.assertFalse(permission_logic.has_perm(self.user3, self.perm2))
237
238
    def test_has_perm_delete_without_obj_without_any_permission(self):
239
        permission_logic = GroupInPermissionLogic('admin', any_permission=False)
240
        add_permission_logic(self.article.__class__, permission_logic)
241
242
        self.assertTrue(permission_logic.has_perm(self.user1, self.perm3))
243
        self.assertFalse(permission_logic.has_perm(self.user2, self.perm3))
244
        self.assertFalse(permission_logic.has_perm(self.user3, self.perm3))
245
246
    def test_has_perm_add_with_obj_without_any_permission(self):
247
        permission_logic = GroupInPermissionLogic('admin', any_permission=False)
248
        add_permission_logic(self.article.__class__, permission_logic)
249
250
        self.assertTrue(
251
                permission_logic.has_perm(self.user1, self.perm1, self.article))
252
        self.assertFalse(
253
                permission_logic.has_perm(self.user2, self.perm1, self.article))
254
        self.assertFalse(
255
                permission_logic.has_perm(self.user3, self.perm1, self.article))
256
257
    def test_has_perm_change_with_obj_without_any_permission(self):
258
        permission_logic = GroupInPermissionLogic('admin', any_permission=False)
259
        add_permission_logic(self.article.__class__, permission_logic)
260
261
        self.assertTrue(
262
                permission_logic.has_perm(self.user1, self.perm2, self.article))
263
        self.assertFalse(
264
                permission_logic.has_perm(self.user2, self.perm2, self.article))
265
        self.assertFalse(
266
                permission_logic.has_perm(self.user3, self.perm2, self.article))
267
268
    def test_has_perm_delete_with_obj_without_any_permission(self):
269
        permission_logic = GroupInPermissionLogic('admin', any_permission=False)
270
        add_permission_logic(self.article.__class__, permission_logic)
271
272
        self.assertTrue(
273
                permission_logic.has_perm(self.user1, self.perm3, self.article))
274
        self.assertFalse(
275
                permission_logic.has_perm(self.user2, self.perm3, self.article))
276
        self.assertFalse(
277
                permission_logic.has_perm(self.user3, self.perm3, self.article))
278
279