From 5180d66a45d4467d54463cf3d2aec666c14f61d4 Mon Sep 17 00:00:00 2001
From: Victoria Ahmadi <victorah@stud.ntnu.no>
Date: Sun, 7 Mar 2021 15:42:46 +0000
Subject: [PATCH] Task 2 coverage test

---
 backend/secfit/.coverage               | Bin 0 -> 204800 bytes
 backend/secfit/requirements.txt        |   3 +-
 backend/secfit/secfit/django_heroku.py |   6 +-
 backend/secfit/secfit/settings.py      |   6 +
 backend/secfit/users/tests.py          | 163 ++++++++++++++-
 backend/secfit/workouts/permissions.py |   8 +-
 backend/secfit/workouts/tests.py       | 263 ++++++++++++++++++++++++-
 7 files changed, 437 insertions(+), 12 deletions(-)
 create mode 100644 backend/secfit/.coverage

diff --git a/backend/secfit/.coverage b/backend/secfit/.coverage
new file mode 100644
index 0000000000000000000000000000000000000000..be523e4bd8ea6d310eeb53ecd9866d8966e65080
GIT binary patch
literal 204800
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
R^b0z4RvDZVi&Wv-{{y@3Ji`D0

literal 0
HcmV?d00001

diff --git a/backend/secfit/requirements.txt b/backend/secfit/requirements.txt
index 2f243ad..d3da257 100644
--- a/backend/secfit/requirements.txt
+++ b/backend/secfit/requirements.txt
@@ -31,4 +31,5 @@ toml==0.10.1
 urllib3==1.25.10
 whitenoise==5.2.0
 wrapt==1.12.1
-datetime
\ No newline at end of file
+datetime
+coverage==5.5
\ No newline at end of file
diff --git a/backend/secfit/secfit/django_heroku.py b/backend/secfit/secfit/django_heroku.py
index 7f60ede..7621870 100644
--- a/backend/secfit/secfit/django_heroku.py
+++ b/backend/secfit/secfit/django_heroku.py
@@ -34,7 +34,8 @@ def settings(config, *, db_colors=False, databases=True, test_runner=False, stat
             # logger.info('Adding $DATABASE_URL to default DATABASE Django setting.')
 
             # Configure Django for DATABASE_URL environment variable.
-            config['DATABASES']['default'] = dj_database_url.config(conn_max_age=conn_max_age, ssl_require=True)
+            config['DATABASES']['default'] = dj_database_url.config(
+                conn_max_age=conn_max_age, ssl_require=True)
 
             # logger.info('Adding $DATABASE_URL to TEST default DATABASE Django setting.')
 
@@ -65,7 +66,8 @@ def settings(config, *, db_colors=False, databases=True, test_runner=False, stat
             config['MIDDLEWARE_CLASSES'] = tuple(
                 ['whitenoise.middleware.WhiteNoiseMiddleware'] + list(config['MIDDLEWARE_CLASSES']))
         except KeyError:
-            config['MIDDLEWARE'] = tuple(['whitenoise.middleware.WhiteNoiseMiddleware'] + list(config['MIDDLEWARE']))
+            config['MIDDLEWARE'] = tuple(
+                ['whitenoise.middleware.WhiteNoiseMiddleware'] + list(config['MIDDLEWARE']))
 
         # Enable GZip.
         config['STATICFILES_STORAGE'] = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
diff --git a/backend/secfit/secfit/settings.py b/backend/secfit/secfit/settings.py
index 8e71e61..4f3cb58 100644
--- a/backend/secfit/secfit/settings.py
+++ b/backend/secfit/secfit/settings.py
@@ -64,6 +64,7 @@ INSTALLED_APPS = [
     "comments.apps.CommentsConfig",
     "suggested_workouts.apps.SuggestedWorkoutsConfig",
     "corsheaders",
+    "django_heroku"
 
 ]
 
@@ -147,6 +148,11 @@ REST_FRAMEWORK = {
         'rest_framework.authentication.SessionAuthentication',
     ),
 }
+AUTH_PASSWORD_VALIDATORS = [{
+    'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+            'OPTIONS': {
+                'min_length': 8,
+            }}]
 
 AUTH_USER_MODEL = "users.User"
 
diff --git a/backend/secfit/users/tests.py b/backend/secfit/users/tests.py
index 7ce503c..3696ceb 100644
--- a/backend/secfit/users/tests.py
+++ b/backend/secfit/users/tests.py
@@ -1,3 +1,162 @@
-from django.test import TestCase
+from django.contrib.auth import get_user_model, password_validation
+# from django.test import TestCase
+from users.serializers import UserSerializer
+from rest_framework.test import APIRequestFactory, APITestCase
+from rest_framework.request import Request
+from random import choice
+from string import ascii_uppercase
+from users.models import User
+from django import forms
+from rest_framework import serializers
+from rest_framework.exceptions import ValidationError
 
-# Create your tests here.
+
+class UserSerializerTestCase(APITestCase):
+    # Set up test instance of a user and serialized data of that user
+    def setUp(self):
+        self.user_attributes = {
+            "id": 1,
+            "email": "fake@email.com",
+            "username": "fake_user",
+            "phone_number": "92345678",
+            "country": "Norway",
+            "city": "Trondheim",
+            "street_address": "Lade Alle",
+        }
+        factory = APIRequestFactory()
+        request = factory.get('/')
+        self.test_user = get_user_model()(**self.user_attributes)
+        self.test_user.set_password("password")
+        self.serialized_user = UserSerializer(
+            self.test_user, context={'request': Request(request)})
+
+        self.serializer_data = {
+            "id": self.user_attributes["id"],
+            "email": self.user_attributes["email"],
+            "username": self.user_attributes["username"],
+            "password": 'password',
+            "password1": 'password',
+            "athletes": [],
+            "phone_number": self.user_attributes["phone_number"],
+            "country": self.user_attributes["country"],
+            "city": self.user_attributes["city"],
+            "street_address": self.user_attributes["street_address"],
+            "coach": "",
+            "workouts": [],
+            "coach_files": [],
+            "athlete_files": [],
+        }
+        self.new_serializer_data = {
+            "email": 'email@fake.com',
+            "username": 'faker',
+            "athletes": [],
+            "password": 'fuck_django',
+            "password1": 'fuck_django',
+            "phone_number": '12345678',
+            "country": 'Norge',
+            "city": 'Oslo',
+            "street_address": 'Mora di',
+            "workouts": [],
+            "coach_files": [],
+            "athlete_files": [], }
+
+    # Test that the serializer return the expecte fields for a given user instance
+
+    def test_contains_expected_fields(self):
+        serialized_data = self.serialized_user.data
+        self.assertEqual(set(serialized_data.keys()), set([
+            "url",
+            "id",
+            "email",
+            "username",
+            "athletes",
+            "phone_number",
+            "country",
+            "city",
+            "street_address",
+            "coach",
+            "workouts",
+            "coach_files",
+            "athlete_files",
+        ]))
+    # Testing if serialized data matched the retrieved instance in the database
+
+    def test_corresponding_id_field(self):
+        serialized_data = self.serialized_user.data
+        self.assertEqual(serialized_data[
+            "id"
+        ], self.user_attributes['id'])
+
+    def test_corresponding_email_field(self):
+        serialized_data = self.serialized_user.data
+        self.assertEqual(serialized_data[
+            "email"
+        ], self.user_attributes['email'])
+
+    def test_corresponding_username_field(self):
+        serialized_data = self.serialized_user.data
+        self.assertEqual(serialized_data[
+            "username"
+        ], self.user_attributes['username'])
+
+    def test_corresponding_phone_number_field(self):
+        serialized_data = self.serialized_user.data
+        self.assertEqual(serialized_data[
+            "phone_number"
+        ], self.user_attributes['phone_number'])
+
+    def test_corresponding_country_field(self):
+        serialized_data = self.serialized_user.data
+        self.assertEqual(serialized_data[
+            "country"
+        ], self.user_attributes['country'])
+
+    def test_corresponding_city_field(self):
+        serialized_data = self.serialized_user.data
+        self.assertEqual(serialized_data[
+            "country"
+        ], self.user_attributes['country'])
+
+    def test_corresponding_street_address_field(self):
+        serialized_data = self.serialized_user.data
+        self.assertEqual(serialized_data[
+            "street_address"
+        ], self.user_attributes['street_address'])
+
+    def test_create_user(self):
+        # Sjekker at jeg får serialisert til OrderedDict, kompleks datatype som kan bruker for å lage instans
+        new_serializer = UserSerializer(data=self.new_serializer_data)
+        self.assertTrue(new_serializer.is_valid())
+        # Lage bruker
+        new_serializer.save()
+        # Sjekker at brukeren faktisk ble laget med brukernavner, 'faker'
+        self.assertEquals(get_user_model().objects.get(
+            username=self.new_serializer_data['username']).username, self.new_serializer_data['username'])
+        # Sjekk at resten av feltene til instansen faktisk er lik de du definerte i serializer sin data
+        self.assertEquals(get_user_model().objects.get(
+            username=self.new_serializer_data['username']).email, self.new_serializer_data['email'])
+        self.assertEquals(get_user_model().objects.get(
+            username=self.new_serializer_data['username']).street_address, self.new_serializer_data['street_address'])
+        self.assertEquals(get_user_model().objects.get(
+            username=self.new_serializer_data['username']).phone_number, self.new_serializer_data['phone_number'])
+        self.assertEquals(get_user_model().objects.get(
+            username=self.new_serializer_data['username']).country, self.new_serializer_data['country'])
+        self.assertEquals(get_user_model().objects.get(
+            username=self.new_serializer_data['username']).city, self.new_serializer_data['city'])
+        user_password = get_user_model().objects.get(username='faker').password
+        # Sjekker om plaintekst passordet matcher med den krypterte i databasen
+        self.assertTrue(self.new_serializer_data['password'], user_password)
+
+    def test_validate_password(self):
+        with self.assertRaises(serializers.ValidationError):
+            UserSerializer(self.new_serializer_data).validate_password(
+                'short')
+
+    def test_valid_pasword(self):
+        self.new_serializer_data['password'] = '12345678910'
+        self.new_serializer_data['password1'] = '12345678910'
+        self.data = {'password': '12345678910', 'password1': '12345678910'}
+        user_ser = UserSerializer(instance=None, data=self.data)
+        # Returns the password as the value
+        self.assertEquals(user_ser.validate_password(
+            '12345678910'), self.data['password'])
diff --git a/backend/secfit/workouts/permissions.py b/backend/secfit/workouts/permissions.py
index 4039b9c..8ff7fcb 100644
--- a/backend/secfit/workouts/permissions.py
+++ b/backend/secfit/workouts/permissions.py
@@ -33,9 +33,10 @@ class IsCoachAndVisibleToCoach(permissions.BasePermission):
     """Checks whether the requesting user is the existing object's owner's coach
     and whether the object (workout) has a visibility of Public or Coach.
     """
+    # Fixed bug where the function did not check for the visibility level
 
     def has_object_permission(self, request, view, obj):
-        return obj.owner.coach == request.user
+        return obj.owner.coach == request.user and (obj.visibility == 'PU' or obj.visibility == 'CO')
 
 
 class IsCoachOfWorkoutAndVisibleToCoach(permissions.BasePermission):
@@ -44,7 +45,10 @@ class IsCoachOfWorkoutAndVisibleToCoach(permissions.BasePermission):
     """
 
     def has_object_permission(self, request, view, obj):
-        return obj.workout.owner.coach == request.user
+        # Fixed bug where the function did not check for the visibility level
+        return obj.workout.owner.coach == request.user and (
+            obj.workout.visibility == "PU" or obj.workout.visibility == "CO"
+        )
 
 
 class IsPublic(permissions.BasePermission):
diff --git a/backend/secfit/workouts/tests.py b/backend/secfit/workouts/tests.py
index 7fbbf78..7b27471 100644
--- a/backend/secfit/workouts/tests.py
+++ b/backend/secfit/workouts/tests.py
@@ -1,6 +1,259 @@
-"""
-Tests for the workouts application.
-"""
-from django.test import TestCase
+from django.contrib.auth import get_user_model
+from django.test import RequestFactory, TestCase
+from workouts.permissions import IsOwner, IsOwnerOfWorkout, IsCoachAndVisibleToCoach, IsCoachOfWorkoutAndVisibleToCoach, IsPublic, IsWorkoutPublic, IsReadOnly
+from django.utils import timezone
+from workouts.models import Workout, ExerciseInstance, Exercise
+from rest_framework.test import APIRequestFactory, APITestCase
 
-# Create your tests here.
+
+class WorkoutPermissionsTestCases(TestCase):
+    def setUp(self):
+        self.owner = get_user_model()(id=1, username='bitch', email='email@email.com', phone_number='92134654',
+                                      country='Norway', city='Paradise city', street_address='Hemmelig'
+                                      )
+        self.owner.save()
+        self.user = get_user_model()(id=2, username='balle', email='email@fake.com', phone_number='92134654',
+                                     country='Norway', city='Hmm', street_address='Hemmelig'
+                                     )
+        self.user.save()
+        self.factory = APIRequestFactory()
+        self.workout = Workout.objects.create(id=1, name='Ballesnerkel', date=timezone.now(), notes='Hva vil du?',
+                                              owner=self.owner, visibility='PU'
+                                              )
+        self.workout.save()
+        # Creating an object that has a workout instance. This object is an ExerciseInstance whichi needs an Exercise
+        self.exercise = Exercise.objects.create(
+            name="dummy_exercise", description='Dummy description', unit='rep')
+        self.exercise.save()
+        self.exercise_instance = ExerciseInstance.objects.create(
+            workout=self.workout, suggested_workout=None, exercise=self.exercise, sets=2, number=2)
+        self.exercise_instance.save()
+        self.request = self.factory.delete('/')
+
+    """
+    Testing IsOwner
+    """
+
+    def test_ownership_workout(self):
+        self.request = self.factory.delete('/')
+        self.request.user = self.owner
+        permission = IsOwner.has_object_permission(
+            self, request=self.request, view=None, obj=self.workout)
+        self.assertTrue(permission)
+        self.request.user = self.user
+        self.assertFalse(IsOwner.has_object_permission(
+            self, request=self.request, view=None, obj=self.workout))
+
+    """
+    Testing IsOwnerOfWorkout
+    """
+
+    def test_is_owner_of_workout(self):
+        """
+        First testing has_permission 
+        """
+        # Make fake request
+        self.request = self.factory.delete('/')
+        # Fake post request
+        fake_request_data = {
+            "workout": "http://127.0.0.1:8000/api/workouts/1/"}
+        # Fake method for request
+        self.request.method = 'POST'
+        # Fake data
+        self.request.data = fake_request_data
+        # Setting initialized user who is the owner for the workout which is going to be retrieved
+        self.request.user = self.owner
+        permission_class = IsOwnerOfWorkout
+        # Check has permission is working
+        self.assertTrue(permission_class.has_permission(
+            self, request=self.request, view=None))
+        # Check for a user who is not owner of workout
+        self.request.user = self.user
+        self.assertFalse(permission_class.has_permission(
+            self, request=self.request, view=None))
+        # Now check for the case where there exist no workout for the id
+        fake_request_data_no_workout = {}
+        self.request.data = fake_request_data_no_workout
+        self.assertFalse(permission_class.has_permission(
+            self, request=self.request, view=None))
+
+        # Should always return True for has_permission when the method is not a POST
+        self.request.method = 'GET'
+        self.assertTrue(permission_class.has_permission(
+            self, request=self.request, view=None))
+        # Check for the case where request.user is owner
+        self.request.user = self.owner
+        self.assertTrue(permission_class.has_permission(
+            self, request=self.request, view=None))
+        """
+        Test has_object_permission
+        """
+        self.assertTrue(permission_class.has_object_permission(
+            self, self.request, view=None, obj=self.exercise_instance))
+        # Test for where the requested user is not the workout for the exercise instance
+        self.request.user = self.user
+        self.assertFalse(permission_class.has_object_permission(
+            self, self.request, view=None, obj=self.exercise_instance))
+
+    """
+    Testing IsCoachAndVisibleToCoach
+    """
+
+    def test_is_coach_and_visible_to_coach(self):
+        # Make a coach to the owner of workout defined in setUp
+        self.coach_of_owner = get_user_model()(id=3, username='coach_of_owner', email='email@owner.com', phone_number='98154654',
+                                               country='England', city='London', street_address='...'
+                                               )
+        self.coach_of_owner.save()
+        self.owner.coach = self.coach_of_owner
+        self.owner.save()
+        print(self.owner.coach)
+        self.request.user = self.coach_of_owner
+        permission_class = IsCoachAndVisibleToCoach
+        self.assertTrue(IsCoachAndVisibleToCoach.has_object_permission(
+            self, request=self.request, view=None, obj=self.workout))
+        # Changing the visibility to coach to see if it still works
+        self.workout.visibility = 'CO'
+        self.workout.save()
+        self.assertTrue(IsCoachAndVisibleToCoach.has_object_permission(
+            self, request=self.request, view=None, obj=self.workout))
+        # Changing request.user to someoner who is not the owner's coach
+        self.request.user = self.user
+        self.assertFalse(IsCoachAndVisibleToCoach.has_object_permission(
+            self, request=self.request, view=None, obj=self.workout))
+        # Check if you get the same result when visibility is set to public and requested user is still not coach of owner
+        self.workout.visibility = 'PU'
+        self.workout.save()
+        self.assertFalse(self.assertFalse(IsCoachAndVisibleToCoach.has_object_permission(
+            self, request=self.request, view=None, obj=self.workout)))
+        # Now, check if the function returns false when visibility is set to private
+        # for both cases where requested user is coach or not coach of owner
+        self.workout.visibility = 'PR'
+        self.workout.save()
+        self.assertFalse(IsCoachAndVisibleToCoach.has_object_permission(
+            self, request=self.request,
+            view=None, obj=self.workout))
+        # Changing requested user back to coach. Should still return false
+        self.request.user = self.coach_of_owner
+        self.assertFalse(IsCoachAndVisibleToCoach.has_object_permission(self, request=self.request,
+                                                                        view=None, obj=self.workout))
+
+        # This test fails. Had to fix the fault in the permission class
+
+    """
+    This one test if the function, IsCoachOfWorkoutAndVisibleToCoach
+    """
+
+    def test_coach_of_workout_and_visible_to_coach(self):
+        """
+        Testing for the exercise_instance instead of the workout directly
+        """
+        permission_class = IsCoachOfWorkoutAndVisibleToCoach
+        # Make a coach to the owner of workout defined in setUp
+        self.coach_of_owner = get_user_model()(id=4, username='coach_of_owner2', email='email@owner.com', phone_number='98154654',
+                                               country='England', city='London', street_address='...'
+                                               )
+        self.coach_of_owner.save()
+        self.owner.coach = self.coach_of_owner
+        self.owner.save()
+        # Check if false when requesting user is not the owner's coach
+        self.request.user = self.user
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=self.exercise_instance))
+
+        self.request.user = self.coach_of_owner
+        self.assertTrue(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=self.exercise_instance))
+        # Changing the visibility to coach to see if it still works
+        self.workout.visibility = 'CO'
+        self.workout.save()
+        self.assertTrue(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=self.exercise_instance))
+        # Changing request.user to someoner who is not the owner's coach
+        self.request.user = self.user
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=self.exercise_instance))
+        # Check if you get the same result when visibility is set to public and requested user is still not coach of owner
+        self.workout.visibility = 'PU'
+        self.workout.save()
+        self.assertFalse(self.assertFalse(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=self.exercise_instance)))
+        # Now, check if the function returns false when visibility is set to private
+        # for both cases where requested user is coach or not coach of owner
+        self.workout.visibility = 'PR'
+        self.workout.save()
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=self.request,
+            view=None, obj=self.exercise_instance))
+        # Changing requested user back to coach. Should still return false
+        self.request.user = self.coach_of_owner
+        self.assertFalse(permission_class.has_object_permission(self, request=self.request,
+                                                                view=None, obj=self.exercise_instance))
+
+        # This test fails. Had to fix the fault in the permission class
+    """
+    Testing IsPublic
+    """
+
+    def test_is_public(self):
+        permission_class = IsPublic
+        self.workout.visibility = 'PU'
+        self.assertTrue(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=self.workout))
+        """
+        Other visibility levels should return false 
+        """
+        self.workout.visibility = 'CO'
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=self.workout))
+        self.workout.visibility = 'PR'
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=self.workout))
+    """
+    Testing IsWorkoutPublic using exercise_instance as the object which has a relation to a workout
+    """
+
+    def test_is_workout_public(self):
+        permission_class = IsWorkoutPublic
+        self.workout.visibility = 'PU'
+        self.assertTrue(permission_class.has_object_permission(
+            self, request=None, view=None, obj=self.exercise_instance))
+        self.workout.visibility = 'CO'
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=None, view=None, obj=self.exercise_instance))
+        self.workout.visibility = 'PR'
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=None, view=None, obj=self.exercise_instance))
+
+    """
+    Testing IsReadOnly
+    """
+
+    def test_is_read_only(self):
+        permission_class = IsReadOnly
+        """
+        Testing if false when unsafe methods are provided
+        """
+        self.request.method = 'POST'
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=None))
+        self.request.method = 'PUT'
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=None))
+        self.request.method = 'DELETE'
+        self.assertFalse(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=None))
+        """
+        Testing if safe methods return true
+        """
+        self.request.method = 'HEAD'
+        self.assertTrue(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=None))
+
+        self.request.method = 'GET'
+        self.assertTrue(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=None))
+
+        self.request.method = 'OPTIONS'
+        self.assertTrue(permission_class.has_object_permission(
+            self, request=self.request, view=None, obj=None))
-- 
GitLab