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.

Code Duplication    Length = 191-192 lines in 2 locations

src/permission/tests/test_decorators/test_classbase.py 1 location

@@ 20-211 (lines=192) @@
17
from permission.tests.test_decorators.utils import create_mock_view_class
18
19
20
@skipIf(
21
    django.VERSION < (1, 3),
22
    'Classbased generic view is not supported in this version')
23
class PermissionClassDecoratorsTestCase(TestCase):
24
    def setUp(self):
25
        self.handler = create_mock_handler()
26
        self.request = create_mock_request(self.handler)
27
        self.model = create_mock_model()
28
        self.model_instance = self.model()
29
        self.queryset = create_mock_queryset(self.model_instance)
30
31
        self.view_func = create_mock_view_func()
32
        self.view_class = permission_required(
33
                'permission.add_article')(
34
                    create_mock_view_class(self.view_func)
35
                )
36
        self.view_class_exc = permission_required(
37
                'permission.add_article',
38
                raise_exception=True)(
39
                    create_mock_view_class(self.view_func)
40
                )
41
42
        # store original registry
43
        self._original_registry = registry._registry
44
45
        # clear registry and register mock handler
46
        registry._registry = {}
47
        registry.register(
48
                self.model,
49
                self.handler,
50
            )
51
52
        # clear call history
53
        self.handler.has_perm.return_value = False
54
55
    def tearDown(self):
56
        # restore original registry
57
        registry._registry = self._original_registry
58
59
    def test_with_object(self):
60
        # set object
61
        self.view_class.object = self.model_instance
62
        self.view_class_exc.object = self.model_instance
63
64
        # has_perm always return False
65
        self.view_class.as_view()(self.request, pk=1)
66
        self.request.user.has_perm.assert_called_with(
67
                'permission.add_article',
68
                obj=self.model_instance,
69
            )
70
        self.handler.has_perm.assert_called_with(
71
                'permission.add_article',
72
                obj=self.model_instance,
73
            )
74
        self.assertFalse(self.view_func.called)
75
76
        self.assertRaises(PermissionDenied,
77
                          self.view_class_exc.as_view(),
78
                          self.request, 
79
                          pk=1)
80
        self.assertFalse(self.view_func.called)
81
82
        # has_perm always return True
83
        self.handler.has_perm.return_value = True
84
        self.view_class.as_view()(self.request, pk=1)
85
        self.request.user.has_perm.assert_called_with(
86
                'permission.add_article',
87
                obj=self.model_instance,
88
            )
89
        self.handler.has_perm.assert_called_with(
90
                'permission.add_article',
91
                obj=self.model_instance,
92
            )
93
        self.assertTrue(self.view_func.called)
94
95
    def test_with_get_object(self):
96
        # set object
97
        self.view_class.get_object = MagicMock(
98
                return_value=self.model_instance)
99
        self.view_class_exc.get_object = MagicMock(
100
                return_value=self.model_instance)
101
102
        # has_perm always return False
103
        self.view_class.as_view()(self.request, pk=1)
104
        self.request.user.has_perm.assert_called_with(
105
                'permission.add_article',
106
                obj=self.model_instance,
107
            )
108
        self.handler.has_perm.assert_called_with(
109
                'permission.add_article',
110
                obj=self.model_instance,
111
            )
112
        self.assertFalse(self.view_func.called)
113
114
        self.assertRaises(PermissionDenied,
115
                          self.view_class_exc.as_view(),
116
                          self.request, 
117
                          pk=1)
118
        self.assertFalse(self.view_func.called)
119
120
        # has_perm always return True
121
        self.handler.has_perm.return_value = True
122
        self.view_class.as_view()(self.request, pk=1)
123
        self.request.user.has_perm.assert_called_with(
124
                'permission.add_article',
125
                obj=self.model_instance,
126
            )
127
        self.handler.has_perm.assert_called_with(
128
                'permission.add_article',
129
                obj=self.model_instance,
130
            )
131
        self.assertTrue(self.view_func.called)
132
133
    def test_with_queryset(self):
134
        # set object
135
        get_object = lambda x, y: y.get(*x.args, **x.kwargs)
136
        self.view_class.get_object = get_object
137
        self.view_class_exc.get_object = get_object
138
        self.view_class.queryset = self.queryset
139
        self.view_class_exc.queryset = self.queryset
140
141
        # has_perm always return False
142
        self.view_class.as_view()(self.request, pk=1)
143
        self.request.user.has_perm.assert_called_with(
144
                'permission.add_article',
145
                obj=self.model_instance,
146
            )
147
        self.handler.has_perm.assert_called_with(
148
                'permission.add_article',
149
                obj=self.model_instance,
150
            )
151
        self.assertFalse(self.view_func.called)
152
153
        self.assertRaises(PermissionDenied,
154
                          self.view_class_exc.as_view(),
155
                          self.request, 
156
                          pk=1)
157
        self.assertFalse(self.view_func.called)
158
159
        # has_perm always return True
160
        self.handler.has_perm.return_value = True
161
        self.view_class.as_view()(self.request, pk=1)
162
        self.request.user.has_perm.assert_called_with(
163
                'permission.add_article',
164
                obj=self.model_instance,
165
            )
166
        self.handler.has_perm.assert_called_with(
167
                'permission.add_article',
168
                obj=self.model_instance,
169
            )
170
        self.assertTrue(self.view_func.called)
171
172
    def test_with_get_queryset(self):
173
        # set object
174
        get_object = lambda x, y: y.get(*x.args, **x.kwargs)
175
        self.view_class.get_object = get_object
176
        self.view_class_exc.get_object = get_object
177
        self.view_class.get_queryset = MagicMock(
178
                return_value=self.queryset)
179
        self.view_class_exc.get_queryset = MagicMock(
180
                return_value=self.queryset)
181
182
        # has_perm always return False
183
        self.view_class.as_view()(self.request, pk=1)
184
        self.request.user.has_perm.assert_called_with(
185
                'permission.add_article',
186
                obj=self.model_instance,
187
            )
188
        self.handler.has_perm.assert_called_with(
189
                'permission.add_article',
190
                obj=self.model_instance,
191
            )
192
        self.assertFalse(self.view_func.called)
193
194
        self.assertRaises(PermissionDenied,
195
                          self.view_class_exc.as_view(),
196
                          self.request, 
197
                          pk=1)
198
        self.assertFalse(self.view_func.called)
199
200
        # has_perm always return True
201
        self.handler.has_perm.return_value = True
202
        self.view_class.as_view()(self.request, pk=1)
203
        self.request.user.has_perm.assert_called_with(
204
                'permission.add_article',
205
                obj=self.model_instance,
206
            )
207
        self.handler.has_perm.assert_called_with(
208
                'permission.add_article',
209
                obj=self.model_instance,
210
            )
211
        self.assertTrue(self.view_func.called)
212
213

src/permission/tests/test_decorators/test_methodbase.py 1 location

@@ 17-207 (lines=191) @@
14
from permission.tests.test_decorators.utils import create_mock_view_class
15
16
17
@skipIf(
18
    django.VERSION < (1, 3),
19
    'Classbased generic view is not supported in this version')
20
class PermissionClassDecoratorsTestCase(TestCase):
21
    def setUp(self):
22
        self.handler = create_mock_handler()
23
        self.request = create_mock_request(self.handler)
24
        self.model = create_mock_model()
25
        self.model_instance = self.model()
26
        self.queryset = create_mock_queryset(self.model_instance)
27
28
        self.view_func = create_mock_view_func()
29
        self.view_class = create_mock_view_class(
30
            permission_required(
31
                'permission.add_article')(self.view_func))
32
        self.view_class_exc = create_mock_view_class(
33
            permission_required(
34
                'permission.add_article',
35
                raise_exception=True,
36
            )(self.view_func))
37
38
        # store original registry
39
        self._original_registry = registry._registry
40
41
        # clear registry and register mock handler
42
        registry._registry = {}
43
        registry.register(
44
                self.model,
45
                self.handler,
46
            )
47
48
        # clear call history
49
        self.handler.has_perm.return_value = False
50
51
    def tearDown(self):
52
        # restore original registry
53
        registry._registry = self._original_registry
54
55
    def test_with_object(self):
56
        # set object
57
        self.view_class.object = self.model_instance
58
        self.view_class_exc.object = self.model_instance
59
60
        # has_perm always return False
61
        self.view_class.as_view()(self.request, pk=1)
62
        self.request.user.has_perm.assert_called_with(
63
                'permission.add_article',
64
                obj=self.model_instance,
65
            )
66
        self.handler.has_perm.assert_called_with(
67
                'permission.add_article',
68
                obj=self.model_instance,
69
            )
70
        self.assertFalse(self.view_func.called)
71
72
        self.assertRaises(PermissionDenied,
73
                          self.view_class_exc.as_view(),
74
                          self.request, 
75
                          pk=1)
76
        self.assertFalse(self.view_func.called)
77
78
        # has_perm always return True
79
        self.handler.has_perm.return_value = True
80
        self.view_class.as_view()(self.request, pk=1)
81
        self.request.user.has_perm.assert_called_with(
82
                'permission.add_article',
83
                obj=self.model_instance,
84
            )
85
        self.handler.has_perm.assert_called_with(
86
                'permission.add_article',
87
                obj=self.model_instance,
88
            )
89
        self.assertTrue(self.view_func.called)
90
91
    def test_with_get_object(self):
92
        # set object
93
        self.view_class.get_object = MagicMock(
94
                return_value=self.model_instance)
95
        self.view_class_exc.get_object = MagicMock(
96
                return_value=self.model_instance)
97
98
        # has_perm always return False
99
        self.view_class.as_view()(self.request, pk=1)
100
        self.request.user.has_perm.assert_called_with(
101
                'permission.add_article',
102
                obj=self.model_instance,
103
            )
104
        self.handler.has_perm.assert_called_with(
105
                'permission.add_article',
106
                obj=self.model_instance,
107
            )
108
        self.assertFalse(self.view_func.called)
109
110
        self.assertRaises(PermissionDenied,
111
                          self.view_class_exc.as_view(),
112
                          self.request, 
113
                          pk=1)
114
        self.assertFalse(self.view_func.called)
115
116
        # has_perm always return True
117
        self.handler.has_perm.return_value = True
118
        self.view_class.as_view()(self.request, pk=1)
119
        self.request.user.has_perm.assert_called_with(
120
                'permission.add_article',
121
                obj=self.model_instance,
122
            )
123
        self.handler.has_perm.assert_called_with(
124
                'permission.add_article',
125
                obj=self.model_instance,
126
            )
127
        self.assertTrue(self.view_func.called)
128
129
    def test_with_queryset(self):
130
        # set object
131
        get_object = lambda x, y: y.get(*x.args, **x.kwargs)
132
        self.view_class.get_object = get_object
133
        self.view_class_exc.get_object = get_object
134
        self.view_class.queryset = self.queryset
135
        self.view_class_exc.queryset = self.queryset
136
137
        # has_perm always return False
138
        self.view_class.as_view()(self.request, pk=1)
139
        self.request.user.has_perm.assert_called_with(
140
                'permission.add_article',
141
                obj=self.model_instance,
142
            )
143
        self.handler.has_perm.assert_called_with(
144
                'permission.add_article',
145
                obj=self.model_instance,
146
            )
147
        self.assertFalse(self.view_func.called)
148
149
        self.assertRaises(PermissionDenied,
150
                          self.view_class_exc.as_view(),
151
                          self.request, 
152
                          pk=1)
153
        self.assertFalse(self.view_func.called)
154
155
        # has_perm always return True
156
        self.handler.has_perm.return_value = True
157
        self.view_class.as_view()(self.request, pk=1)
158
        self.request.user.has_perm.assert_called_with(
159
                'permission.add_article',
160
                obj=self.model_instance,
161
            )
162
        self.handler.has_perm.assert_called_with(
163
                'permission.add_article',
164
                obj=self.model_instance,
165
            )
166
        self.assertTrue(self.view_func.called)
167
168
    def test_with_get_queryset(self):
169
        # set object
170
        get_object = lambda x, y: y.get(*x.args, **x.kwargs)
171
        self.view_class.get_object = get_object
172
        self.view_class_exc.get_object = get_object
173
        self.view_class.get_queryset = MagicMock(
174
                return_value=self.queryset)
175
        self.view_class_exc.get_queryset = MagicMock(
176
                return_value=self.queryset)
177
178
        # has_perm always return False
179
        self.view_class.as_view()(self.request, pk=1)
180
        self.request.user.has_perm.assert_called_with(
181
                'permission.add_article',
182
                obj=self.model_instance,
183
            )
184
        self.handler.has_perm.assert_called_with(
185
                'permission.add_article',
186
                obj=self.model_instance,
187
            )
188
        self.assertFalse(self.view_func.called)
189
190
        self.assertRaises(PermissionDenied,
191
                          self.view_class_exc.as_view(),
192
                          self.request, 
193
                          pk=1)
194
        self.assertFalse(self.view_func.called)
195
196
        # has_perm always return True
197
        self.handler.has_perm.return_value = True
198
        self.view_class.as_view()(self.request, pk=1)
199
        self.request.user.has_perm.assert_called_with(
200
                'permission.add_article',
201
                obj=self.model_instance,
202
            )
203
        self.handler.has_perm.assert_called_with(
204
                'permission.add_article',
205
                obj=self.model_instance,
206
            )
207
        self.assertTrue(self.view_func.called)
208
209