From 9e5fb89274830c285d1d7fe90d8aea4700002e7c Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 11 Mar 2021 13:56:09 +0000 Subject: [PATCH] cleanup --- core/tests.py | 114 ++++++++++---------------------------------------- core/views.py | 8 ---- 2 files changed, 21 insertions(+), 101 deletions(-) diff --git a/core/tests.py b/core/tests.py index 1b1a9f0..756b05a 100644 --- a/core/tests.py +++ b/core/tests.py @@ -161,6 +161,27 @@ class CustomUserViewSetTest(APITestCase): # Assert access is forbidden self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) + def test_auth_user_can_modify_own_instance(self): + """Regular user can modify own instance + """ + # Create instance + data = { + "email": "new_email@mail.com", + "full_name": "New Full Name", + 'provider': 'PROVIDER', + 'notify': True, + } + + # Authenticate + token = get_tokens_for_user(self.user) + self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {token['access']}") + + # Query endpoint + url = f'{self.endpoint}{self.user.pk}/' + response = self.client.put(url, data=data, format='json') + # Assert forbidden code + self.assertEqual(response.status_code, status.HTTP_200_OK) + # admin user def test_admin_user_can_create_instance(self): """Admin user can create new instance @@ -332,99 +353,6 @@ class ChangeUserPasswordViewTest(APITestCase): self.assertEqual(stored_password_hash, base64.b64encode(new_password_hash).decode()) -class UpdateUserViewTest(APITestCase): - - def setUp(self): - """Tests setup - """ - self.endpoint = '/api/v1/users/' - self.factory = factories.CustomUserFactory - self.model = models.CustomUser - # create regular user - self.reg_email = f"user@mail.com" - self.password = ''.join(random.choices(string.ascii_uppercase, k = 10)) - self.user = self.factory(email=self.reg_email, is_active=True) - self.user.set_password(self.password) - self.user.save() - # create admin user - self.admin_email = f"admin_user@mail.com" - self.admin_user = self.factory(email=self.admin_email, is_staff=True, is_active=True) - self.admin_user.set_password(self.password) - self.admin_user.save() - - def test_auth_user_can_modify_own_instance(self): - """Regular user can modify own instance - """ - # Create instance - data = { - "email": "new_email@mail.com", - "full_name": "New Full Name", - 'provider': 'PROVIDER', - 'notify': True, - } - - # Authenticate - token = get_tokens_for_user(self.user) - self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {token['access']}") - - # Query endpoint - url = f'{self.endpoint}{self.user.pk}/' - response = self.client.put(url, data=data, format='json') - # Assert forbidden code - self.assertEqual(response.status_code, status.HTTP_200_OK) - - def test_auth_user_cannot_modify_random_instance(self): - """Regular user cannot modify randnom instance - """ - # Create instance - instance = self.factory() - - # Authenticate - token = get_tokens_for_user(self.user) - self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {token['access']}") - - # Query endpoint - url = f'{self.endpoint}{instance.pk}/' - response = self.client.put(url, data={}, format='json') - # Assert forbidden code - self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) - - def test_anon_user_cannot_modify_random_instance(self): - """anon user cannot modify instance - """ - # Create instance - instance = self.factory() - - # Query endpoint - url = f'{self.endpoint}{instance.pk}/' - response = self.client.put(url, data={}, format='json') - # Assert forbidden code - self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) - - def test_admin_user_can_modify_random_instance(self): - """Regular user cannot modify randnom instance - """ - # Create instance - instance = self.factory() - - # Authenticate - token = get_tokens_for_user(self.admin_user) - self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {token['access']}") - - data = { - "email": "new_email@mail.com", - "full_name": "New Full Name", - 'provider': 'PROVIDER', - 'notify': True, - } - - # Query endpoint - url = f'{self.endpoint}{instance.pk}/' - response = self.client.put(url, data=data, format='json') - # Assert forbidden code - self.assertEqual(response.status_code, status.HTTP_200_OK) - - class LoadCoopManagerTestCase(APITestCase): def setUp(self): diff --git a/core/views.py b/core/views.py index d1c3511..cbcca9c 100644 --- a/core/views.py +++ b/core/views.py @@ -101,14 +101,6 @@ class ChangeUserPasswordView(UpdateAPIView): serializer_class = core_serializers.ChangePasswordSerializer -class UpdateUserView(UpdateAPIView): - - model = models.CustomUser - queryset = model.objects.all() - permission_classes = (YourOwnUserPermissions,) - serializer_class = core_serializers.UpdateUserSerializer - - @api_view(['POST',]) @permission_classes([CustomUserPermissions,]) def create_company_user(request):