示例#1
0
 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})
示例#2
0
 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
         })
示例#3
0
 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)
示例#4
0
 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)
示例#5
0
    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_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'])
示例#7
0
    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)
示例#8
0
    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_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)
示例#10
0
    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)