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.
Completed
Push — master ( 194382...d1a5fb )
by Lambda
01:38
created

PermissionFunctionDecoratorsTestCase.tearDown()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
1
# coding=utf-8
2
from django.test import TestCase
3
from django.core.exceptions import PermissionDenied
4
from permission.utils.handlers import registry
5
from permission.decorators.functionbase import permission_required
6
from permission.tests.test_decorators.utils import create_mock_handler
7
from permission.tests.test_decorators.utils import create_mock_request
8
from permission.tests.test_decorators.utils import create_mock_view_func
9
from permission.tests.test_decorators.utils import create_mock_queryset
10
from permission.tests.test_decorators.utils import create_mock_model
11
12
13
class PermissionFunctionDecoratorsTestCase(TestCase):
14
    def setUp(self):
15
        self.handler = create_mock_handler()
16
        self.request = create_mock_request(self.handler)
17
        self.model = create_mock_model()
18
        self.model_instance = self.model()
19
        self.queryset = create_mock_queryset(self.model_instance)
20
        self.view_func = create_mock_view_func()
21
        self.decorated = permission_required(
22
                'permission.add_article')(self.view_func)
23
        self.decorated_exc = permission_required(
24
                'permission.add_article', raise_exception=True)(self.view_func)
25
26
        # store original registry
27
        self._original_registry = registry._registry
28
29
        # clear registry and register mock handler
30
        registry._registry = {}
31
        registry.register(
32
                self.model,
33
                self.handler,
34
            )
35
36
    def tearDown(self):
37
        # restore original registry
38
        registry._registry = self._original_registry
39
40 View Code Duplication
    def test_list_detail_object_id(self):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
41
        # has_perm always return False
42
        self.view_func.called = False
43
        self.handler.has_perm.return_value = False
44
        self.decorated(self.request, 
45
                       queryset=self.queryset,
46
                       object_id=1)
47
        self.request.user.has_perm.assert_called_with(
48
                'permission.add_article',
49
                obj=self.model_instance,
50
            )
51
        self.handler.has_perm.assert_called_with(
52
                'permission.add_article',
53
                obj=self.model_instance,
54
            )
55
        self.assertFalse(self.view_func.called)
56
57
        self.assertRaises(PermissionDenied, self.decorated_exc,
58
                          self.request, queryset=self.queryset,
59
                          object_id=1)
60
        self.assertFalse(self.view_func.called)
61
62
        # has_perm always return True
63
        self.handler.has_perm.return_value = True
64
        self.decorated(
65
                self.request, 
66
                queryset=self.queryset,
67
                object_id=1)
68
        self.request.user.has_perm.assert_called_with(
69
                'permission.add_article',
70
                obj=self.model_instance,
71
            )
72
        self.handler.has_perm.assert_called_with(
73
                'permission.add_article',
74
                obj=self.model_instance,
75
            )
76
        self.assertTrue(self.view_func.called)
77
78 View Code Duplication
    def test_list_detail_slug(self):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
79
        self.view_func.called = False
80
        self.handler.has_perm.return_value = False
81
        # has_perm always return False
82
        self.decorated(
83
                self.request, 
84
                queryset=self.queryset, 
85
                slug='permission_test_article1',
86
                slug_field='title')
87
        self.request.user.has_perm.assert_called_with(
88
                'permission.add_article',
89
                obj=self.model_instance,
90
            )
91
        self.handler.has_perm.assert_called_with(
92
                'permission.add_article',
93
                obj=self.model_instance,
94
            )
95
        self.assertFalse(self.view_func.called)
96
        # has_perm always return True
97
        self.handler.has_perm.return_value = True
98
        self.decorated(
99
                self.request, 
100
                queryset=self.queryset, 
101
                slug='permission_test_article1',
102
                slug_field='title')
103
        self.request.user.has_perm.assert_called_with(
104
                'permission.add_article',
105
                obj=self.model_instance,
106
            )
107
        self.handler.has_perm.assert_called_with(
108
                'permission.add_article',
109
                obj=self.model_instance,
110
            )
111
        self.assertTrue(self.view_func.called)
112
113 View Code Duplication
    def test_date_based_object_id(self):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
114
        self.view_func.called = False
115
        self.handler.has_perm.return_value = False
116
        # has_perm always return False
117
        self.decorated(
118
                self.request, 
119
                queryset=self.queryset, 
120
                year='2000', month='1', day='1',
121
                date_field='created_at',
122
                month_format='%m',
123
                object_id=1)
124
        self.request.user.has_perm.assert_called_with(
125
                'permission.add_article',
126
                obj=self.model_instance,
127
            )
128
        self.handler.has_perm.assert_called_with(
129
                'permission.add_article',
130
                obj=self.model_instance,
131
            )
132
        self.assertFalse(self.view_func.called)
133
        # has_perm always return True
134
        self.handler.has_perm.return_value = True
135
        self.decorated(
136
                self.request, 
137
                queryset=self.queryset,
138
                year='2000', month='1', day='1',
139
                date_field='created_at',
140
                month_format='%m',
141
                object_id=1)
142
        self.request.user.has_perm.assert_called_with(
143
                'permission.add_article',
144
                obj=self.model_instance,
145
            )
146
        self.handler.has_perm.assert_called_with(
147
                'permission.add_article',
148
                obj=self.model_instance,
149
            )
150
        self.assertTrue(self.view_func.called)
151
152 View Code Duplication
    def test_date_based_slug(self):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
153
        self.view_func.called = False
154
        self.handler.has_perm.return_value = False
155
        # has_perm always return False
156
        self.decorated(
157
                self.request, 
158
                queryset=self.queryset, 
159
                year='2000', month='1', day='1',
160
                date_field='created_at',
161
                month_format='%m',
162
                slug='permission_test_article1',
163
                slug_field='title')
164
        self.request.user.has_perm.assert_called_with(
165
                'permission.add_article',
166
                obj=self.model_instance,
167
            )
168
        self.handler.has_perm.assert_called_with(
169
                'permission.add_article',
170
                obj=self.model_instance,
171
            )
172
        self.assertFalse(self.view_func.called)
173
        # has_perm always return True
174
        self.handler.has_perm.return_value = True
175
        self.decorated(
176
                self.request, 
177
                queryset=self.queryset, 
178
                year='2000', month='1', day='1',
179
                date_field='created_at',
180
                month_format='%m',
181
                slug='permission_test_article1',
182
                slug_field='title')
183
        self.request.user.has_perm.assert_called_with(
184
                'permission.add_article',
185
                obj=self.model_instance,
186
            )
187
        self.handler.has_perm.assert_called_with(
188
                'permission.add_article',
189
                obj=self.model_instance,
190
            )
191
        self.assertTrue(self.view_func.called)
192
193