def get(self, request): """get method.""" endpoints = get_endpoints(request.user) if not endpoints: raise Http404('No endpoints available') view_name = getattr(settings, 'DJANGO_NUMERICS_VIEW', 'djangonumerics/index.html') return render(self.request, view_name, {'endpoints': endpoints, 'LabelResponse': LabelResponse, 'NumberResponse': NumberResponse})
def get(self, request): """Get method.""" endpoints = get_endpoints(request.user) if not endpoints: raise Http404('No endpoints available') view_name = getattr(settings, 'DJANGO_NUMERICS_VIEW', 'djangonumerics/index.html') return render( self.request, view_name, { 'endpoints': endpoints, 'LabelResponse': LabelResponse, 'NumberResponse': NumberResponse })
def test_no_granted_endpoints(self): """Test endpoints with denied access.""" user = self.create_user() api.register('label_endpoint', self.label_endpoint, responses.LabelResponse, permission_func=self.always_false) api.register('number_endpoint', self.number_endpoint, responses.NumberResponse, permission_func=self.always_false) endpoints = api.get_endpoints(user) expected_endpoints = [] self.assertEqual(endpoints, expected_endpoints)
def test_registered_endpoints_with_wrong_return_type(self): """Test view context with one valid endpoint.""" User = get_user_model() User.objects.create_user('test', '*****@*****.**', 'test') user = User.objects.get() api.register('label_endpoint', self.label_endpoint, responses.NumberResponse) url = api.get_endpoints(user)[0]['url'] response = self.client.get(url) self.assertEqual(response.status_code, 200) resp_json = json.loads(response.content.decode('utf-8')) self.assertFalse(resp_json['success'])
def test_one_granted_endpoints(self): """Test endpoints with one granted, one denied access.""" user = self.create_user() api.register('label_endpoint', self.label_endpoint, responses.LabelResponse, permission_func=self.always_true) api.register('number_endpoint', self.number_endpoint, responses.NumberResponse, permission_func=self.always_false) endpoints = sorted(api.get_endpoints(user), key=itemgetter('name')) expected_endpoints = [{'help_url': '/help/username/label_endpoint', 'name': 'label_endpoint', 'url': '/username/label_endpoint'}] self.assertEqual(endpoints, expected_endpoints)
def test_registered_endpoints(self): """Test view context with one valid endpoint.""" User = get_user_model() User.objects.create_user('test', '*****@*****.**', 'test') user = User.objects.get() api.register('label_endpoint', self.label_endpoint, responses.LabelResponse) url = api.get_endpoints(user)[0]['url'] response = self.client.get(url) self.assertEqual(response.status_code, 200) resp_json = json.loads(response.content.decode('utf-8')) expected_json = {'data': {'value': 'label_val'}, 'postfix': 'postfix_label'} self.assertEqual(resp_json, expected_json)
def test_one_granted_endpoints(self): """Test endpoints with one granted, one denied access.""" user = self.create_user() api.register('label_endpoint', self.label_endpoint, responses.LabelResponse, permission_func=self.always_true) api.register('number_endpoint', self.number_endpoint, responses.NumberResponse, permission_func=self.always_false) endpoints = sorted(api.get_endpoints(user), key=itemgetter('name')) expected_endpoints = [{ 'help_url': '/help/username/label_endpoint', 'name': 'label_endpoint', 'url': '/username/label_endpoint' }] self.assertEqual(endpoints, expected_endpoints)