Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
wbauth / authentication / tests / 1test_views.py
Size: Mime:
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Permission
from rest_framework.authtoken.models import Token
from rest_framework.reverse import reverse
from rest_framework.test import (APIClient, APIRequestFactory, APITestCase,
                                 force_authenticate)

from authentication.views import (ProfileViewSet, ProvideAuthTokenView,
                                  UserPermissionViewSet)


class ProvideAuthTokenViewTestCase(APITestCase):

    fixtures = [
        'ContactLocation.yaml',
        'ContactTelephoneType.yaml',
        'ContactCountry.yaml',
    ]

    def setUp(self):
        self.user = get_user_model().objects.create_user(username='user',email='a@a.de',password='123456abc', first_name='Max', last_name='Mustermann')
        self.token = Token.objects.create(user=self.user)
        self.factory = APIRequestFactory()
        self.view = ProvideAuthTokenView.as_view()

    def test_provide_auth_token(self):
        request = self.factory.get('')
        force_authenticate(request, user=self.user)
        response = self.view(request)
        self.assertEqual(response.data['apiToken'], self.token.key)
        assert response.data['apiToken'] == self.token.key, 'Should be the same token.'

class ProfileViewSetTestCase(APITestCase):
    '''Profile ViewSet'''

    fixtures = [
        'ContactLocation.yaml',
        'ContactTelephoneType.yaml',
        'ContactCountry.yaml',
    ]

    def setUp(self):
        self.user = get_user_model().objects.create_superuser(username='user',email='a@a.de',password='123456abc', first_name='Max', last_name='Mustermann')
        self.token = Token.objects.create(user=self.user)
        self.factory = APIRequestFactory()
        self.view = ProfileViewSet.as_view({'get':'list'})

    def test_get_permissions_url(self):
        '''Permissions URL'''
        request = self.factory.get('')
        force_authenticate(request, user=self.user)
        response = self.view(request)
        self.assertEqual(response.data['results'][0]['permissions'], '%s' % (reverse('authentication:userpermission-detail',args=[self.user.profile.id],request=request)))

# class UserPermissionViewSetTestCase(APITestCase):
#     '''User Permission ViewSet'''
#
#     fixtures = [
#         'ContactLocation.yaml',
#         'ContactTelephoneType.yaml',
#         'ContactCountry.yaml',
#     ]
#
#     def setUp(self):
#         self.user = get_user_model().objects.create_superuser(username='user',email='a@a.de',password='123456abc', first_name='Max', last_name='Mustermann')
#         # self.perm = Permission.objects.get(codename='view_user')
#         self.perms = Permission.objects.all()
#         self.user.user_permissions.set(list(self.perms))
#         self.token = Token.objects.create(user=self.user)
#         self.factory = APIRequestFactory()
#         self.view = UserPermissionViewSet.as_view({'get':'list'})
#
#     def test_get_user_permissions_repr(self):
#         '''Permissions Repr'''
#         # request = self.factory.get('')
#         # force_authenticate(request, user=self.user, token=self.user.auth_token)
#         # response = self.view(request)
#         client = APIClient()
#         client.credentials(HTTP_AUTHORIZATION='Token ' + self.user.auth_token.key)
#         result = client.get('/api/auth/userpermission/', format='json')
#         print(result)
#         print(client)
#         self.assertTrue(False)
#         # self.assertEqual(response.data['results'][0]['permissions'], '%s' % (reverse('authentication:userpermission-detail',args=[self.user.profile.id],request=request)))