From 037baf700d0abd9dac53284a59b72b33feb81fc1 Mon Sep 17 00:00:00 2001 From: Leewel Date: Wed, 24 Apr 2019 17:24:59 +0300 Subject: [PATCH 1/3] [Start #165305265] Format to pep8 standards --- authors/apps/authentication/models.py | 1 - 1 file changed, 1 deletion(-) diff --git a/authors/apps/authentication/models.py b/authors/apps/authentication/models.py index 8f26e14..e9a4192 100644 --- a/authors/apps/authentication/models.py +++ b/authors/apps/authentication/models.py @@ -67,7 +67,6 @@ def create_superuser(self, username, email, password): user = self.create_user(username, email, password) user.is_superuser = True user.is_staff = True - user.is_active = True user.save() return user From c24f40c099cedc140b27b3f9fc43383046423188 Mon Sep 17 00:00:00 2001 From: Leewel Date: Wed, 24 Apr 2019 17:27:07 +0300 Subject: [PATCH 2/3] [Feature #165305265] Add Profile app --- authors/apps/profiles/admin.py | 3 ++ authors/apps/profiles/apps.py | 5 ++ authors/apps/profiles/migrations/__init__.py | 0 authors/apps/profiles/models.py | 48 ++++++++++++++++++++ authors/apps/profiles/tests.py | 3 ++ authors/apps/profiles/urls.py | 11 +++++ authors/apps/profiles/views.py | 29 ++++++++++++ 7 files changed, 99 insertions(+) create mode 100644 authors/apps/profiles/admin.py create mode 100644 authors/apps/profiles/apps.py create mode 100644 authors/apps/profiles/migrations/__init__.py create mode 100644 authors/apps/profiles/models.py create mode 100644 authors/apps/profiles/tests.py create mode 100644 authors/apps/profiles/urls.py create mode 100644 authors/apps/profiles/views.py diff --git a/authors/apps/profiles/admin.py b/authors/apps/profiles/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/authors/apps/profiles/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/authors/apps/profiles/apps.py b/authors/apps/profiles/apps.py new file mode 100644 index 0000000..5501fda --- /dev/null +++ b/authors/apps/profiles/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class ProfilesConfig(AppConfig): + name = 'profiles' diff --git a/authors/apps/profiles/migrations/__init__.py b/authors/apps/profiles/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/authors/apps/profiles/models.py b/authors/apps/profiles/models.py new file mode 100644 index 0000000..44139c8 --- /dev/null +++ b/authors/apps/profiles/models.py @@ -0,0 +1,48 @@ +from django.db import models +from django.contrib.postgres.fields import URLValidator + + +# Sample request data +# { +# "profile": { +# "username": "jake", +# "bio": "I work at statefarm", +# "image": "image-link", +# "following": false, -for observer +# "email": "this@gmail.com", +# bookmarked articles +# favorite articles +# user_articles +# } + +# ACCEPTANCE CRITERIA +# As a User +# I want to get my profile created once I register to the application. +# I want my profile to display my bio, image/avatar and any other fields that "we" the dev team deem necessary. Let's get creative! +# I want to be able to View other users profiles, Edit my profile but I should NOT be able to edit another user's profile. + +# Acceptance Criteria +# Scenario: +# Given a User registers to be a member of Authors Haven. + +# Registration is done. +# User Profile is created. +# A timestamp is associated with the profile. + +# Register listener + + +class UserProfile(models.Model): + """ + The User Profile Model + """ + + username = models.CharField(max_length=30) + bio = models.TextField(max_length=250) + image = models.UrlField(validators=[URLValidator]) + following = models.BooleanField(default=False) + createdAt = models.DateTimeField(auto_now_add=True, editable=False) + updatedAt = models.DateTimeField(auto_now=True) + + def __str__(self): + return "" diff --git a/authors/apps/profiles/tests.py b/authors/apps/profiles/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/authors/apps/profiles/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/authors/apps/profiles/urls.py b/authors/apps/profiles/urls.py new file mode 100644 index 0000000..2a594ca --- /dev/null +++ b/authors/apps/profiles/urls.py @@ -0,0 +1,11 @@ +from django.conf.urls import url + +from .views import ( + LoginAPIView, RegistrationAPIView, UserRetrieveUpdateAPIView +) + +urlpatterns = [ + url(r'^user/?$', UserRetrieveUpdateAPIView.as_view()), + url(r'^users/?$', RegistrationAPIView.as_view()), + url(r'^users/login/?$', LoginAPIView.as_view()), +] diff --git a/authors/apps/profiles/views.py b/authors/apps/profiles/views.py new file mode 100644 index 0000000..9e78cb2 --- /dev/null +++ b/authors/apps/profiles/views.py @@ -0,0 +1,29 @@ +from rest_framework import status +from rest_framework.generics import RetrieveUpdateAPIView +from rest_framework.permissions import IsAuthenticated +from rest_framework.response import Response +from rest_framework.views import APIView + +from .renderers import UserJSONRenderer +from .serializers import ( + LoginSerializer, RegistrationSerializer, UserSerializer +) + + +class ProfileAPIView(APIView): + # Allow any user (authenticated or not) to hit this endpoint. + permission_classes = (AllowAny,) + renderer_classes = (UserJSONRenderer,) + serializer_class = RegistrationSerializer + + def post(self, request): + user = request.data.get('user', {}) + + # The create serializer, validate serializer, save serializer pattern + # below is common and you will see it a lot throughout this course and + # your own work later on. Get familiar with it. + serializer = self.serializer_class(data=user) + serializer.is_valid(raise_exception=True) + serializer.save() + + return Response(serializer.data, status=status.HTTP_201_CREATED) From cbbce9999d051eec9285ca63bd1419e785cb0d60 Mon Sep 17 00:00:00 2001 From: Leewel Date: Mon, 29 Apr 2019 22:14:48 +0300 Subject: [PATCH 3/3] feat(profile): create user profile - add user profile tests - add profile model - add migrations - format view with pep8 standards - add profile view - add profile urls - register profile urls - add serializers - add renderers - add response messages - add permission classes - configure permission classes - add image uploader and validations - update app dependencies - update .env-example file - ignore coverage for utils, wsgi, permission, apps files [Finishes #165305265] --- .coveragerc | 4 + .env_example | 3 + authors/apps/authentication/messages.py | 6 + authors/apps/authentication/views.py | 3 +- .../apps/profiles/migrations/0001_initial.py | 26 ++++ .../migrations/0002_auto_20190426_0237.py | 40 +++++ authors/apps/profiles/models.py | 28 +++- authors/apps/profiles/permissions.py | 18 +++ authors/apps/profiles/renderers.py | 24 +++ authors/apps/profiles/serializers.py | 36 +++++ authors/apps/profiles/urls.py | 9 +- authors/apps/profiles/utils.py | 56 +++++++ authors/apps/profiles/views.py | 84 ++++++++-- authors/settings.py | 30 +++- authors/tests/data/base_test.py | 54 ++++++- authors/tests/data/data.py | 16 +- authors/tests/data/test_files/test.png | Bin 0 -> 89087 bytes authors/tests/data/test_profile.py | 145 ++++++++++++++++++ authors/urls.py | 2 + requirements.txt | 19 ++- test.png | Bin 0 -> 109 bytes 21 files changed, 556 insertions(+), 47 deletions(-) create mode 100644 authors/apps/authentication/messages.py create mode 100644 authors/apps/profiles/migrations/0001_initial.py create mode 100644 authors/apps/profiles/migrations/0002_auto_20190426_0237.py create mode 100644 authors/apps/profiles/permissions.py create mode 100644 authors/apps/profiles/renderers.py create mode 100644 authors/apps/profiles/serializers.py create mode 100644 authors/apps/profiles/utils.py create mode 100644 authors/tests/data/test_files/test.png create mode 100644 authors/tests/data/test_profile.py create mode 100644 test.png diff --git a/.coveragerc b/.coveragerc index 7ee5736..bd28103 100644 --- a/.coveragerc +++ b/.coveragerc @@ -5,4 +5,8 @@ omit = config/* test/* manage.py + authors/apps/profiles/utils.py + authors/wsgi.py + authors/apps/profiles/permissions.py + authors/apps/profiles/apps.py \ No newline at end of file diff --git a/.env_example b/.env_example index 43f1daf..5738e30 100644 --- a/.env_example +++ b/.env_example @@ -6,3 +6,6 @@ DB_HOST='' DOMAIN='localhost:8000' EMAIL_HOST_USER='' EMAIL_HOST_PASSWORD='' +CLOUDINARY_CLOUD_NAME='cloudinary-name' +CLOUDINARY_API_KEY='cloudinary-api-key' +CLOUDINARY_API_SECRET='cloudinary-api-secret' diff --git a/authors/apps/authentication/messages.py b/authors/apps/authentication/messages.py new file mode 100644 index 0000000..4d6804a --- /dev/null +++ b/authors/apps/authentication/messages.py @@ -0,0 +1,6 @@ +errors = { + "profile_missing": {"errors": "profile with this username does not exist", + "status": 404}, + "bad_image": {"errors": "Ensure that the file is an image", + "status": 400} +} diff --git a/authors/apps/authentication/views.py b/authors/apps/authentication/views.py index 71ffeb5..63ea62a 100644 --- a/authors/apps/authentication/views.py +++ b/authors/apps/authentication/views.py @@ -10,7 +10,8 @@ from .renderers import UserJSONRenderer from .serializers import ( - LoginSerializer, RegistrationSerializer, UserSerializer, UidAndTokenSerializer + LoginSerializer, RegistrationSerializer, + UserSerializer, UidAndTokenSerializer ) from authors.apps.authentication.models import User from authors.apps.core import exceptions diff --git a/authors/apps/profiles/migrations/0001_initial.py b/authors/apps/profiles/migrations/0001_initial.py new file mode 100644 index 0000000..b935ef9 --- /dev/null +++ b/authors/apps/profiles/migrations/0001_initial.py @@ -0,0 +1,26 @@ +# Generated by Django 2.1 on 2019-04-25 10:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='UserProfile', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('username', models.CharField(max_length=30)), + ('bio', models.TextField(blank=True, max_length=250)), + ('image', models.URLField(null=True)), + ('following', models.BooleanField(default=False)), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('updated_at', models.DateTimeField(auto_now=True)), + ], + ), + ] diff --git a/authors/apps/profiles/migrations/0002_auto_20190426_0237.py b/authors/apps/profiles/migrations/0002_auto_20190426_0237.py new file mode 100644 index 0000000..3a94f7f --- /dev/null +++ b/authors/apps/profiles/migrations/0002_auto_20190426_0237.py @@ -0,0 +1,40 @@ +# Generated by Django 2.1 on 2019-04-26 02:37 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('profiles', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='userprofile', + name='following', + ), + migrations.RemoveField( + model_name='userprofile', + name='username', + ), + migrations.AddField( + model_name='userprofile', + name='first_name', + field=models.CharField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='userprofile', + name='last_name', + field=models.CharField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='userprofile', + name='user', + field=models.OneToOneField(default=0, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + preserve_default=False, + ), + ] diff --git a/authors/apps/profiles/models.py b/authors/apps/profiles/models.py index 44139c8..eff086e 100644 --- a/authors/apps/profiles/models.py +++ b/authors/apps/profiles/models.py @@ -1,5 +1,6 @@ from django.db import models -from django.contrib.postgres.fields import URLValidator +from ..authentication.models import User +from django.db.models.signals import post_save # Sample request data @@ -21,6 +22,8 @@ # I want my profile to display my bio, image/avatar and any other fields that "we" the dev team deem necessary. Let's get creative! # I want to be able to View other users profiles, Edit my profile but I should NOT be able to edit another user's profile. +# GET userprofile + # Acceptance Criteria # Scenario: # Given a User registers to be a member of Authors Haven. @@ -37,12 +40,21 @@ class UserProfile(models.Model): The User Profile Model """ - username = models.CharField(max_length=30) - bio = models.TextField(max_length=250) - image = models.UrlField(validators=[URLValidator]) - following = models.BooleanField(default=False) - createdAt = models.DateTimeField(auto_now_add=True, editable=False) - updatedAt = models.DateTimeField(auto_now=True) + user = models.OneToOneField(User, on_delete=models.CASCADE) + first_name = models.CharField(max_length=50, blank=True) + last_name = models.CharField(max_length=50, blank=True) + bio = models.TextField(max_length=250, blank=True) + image = models.URLField(null=True) + created_at = models.DateTimeField(auto_now_add=True, editable=False) + updated_at = models.DateTimeField(auto_now=True) def __str__(self): - return "" + return self.user.username + + +def create_profile(sender, **kwargs): + if kwargs['created']: + user_profile = UserProfile.objects.create(user=kwargs["instance"]) + + +post_save.connect(create_profile, sender=User) diff --git a/authors/apps/profiles/permissions.py b/authors/apps/profiles/permissions.py new file mode 100644 index 0000000..4a4f8a0 --- /dev/null +++ b/authors/apps/profiles/permissions.py @@ -0,0 +1,18 @@ +from rest_framework import permissions + + +class IsGetOrIsAuthenticated(permissions.BasePermission): + + def has_permission(self, request, view): + + if request.method == 'GET': + return True + + return request.user and request.user.is_authenticated + + def has_object_permission(self, request, view, obj): + + if request.method in permissions.SAFE_METHODS: + return True + + return obj.user == request.user diff --git a/authors/apps/profiles/renderers.py b/authors/apps/profiles/renderers.py new file mode 100644 index 0000000..100c94b --- /dev/null +++ b/authors/apps/profiles/renderers.py @@ -0,0 +1,24 @@ +import json + +from rest_framework.renderers import JSONRenderer + + +class ProfileJSONRenderer(JSONRenderer): + charset = 'utf-8' + + def render(self, data, media_type=None, renderer_context=None): + # If the view throws an error (such as the user can't be authenticated + # or something similar), `data` will contain an `errors` key. We want + # the default JSONRenderer to handle rendering errors, so we need to + # check for this case. + errors = data.get('errors', None) + + if errors is not None: + # As mentioned about, we will let the default JSONRenderer handle + # rendering errors. + return super(ProfileJSONRenderer, self).render(data) + + # Finally, we can render our data under the "user" namespace. + return json.dumps({ + 'profile': data + }) diff --git a/authors/apps/profiles/serializers.py b/authors/apps/profiles/serializers.py new file mode 100644 index 0000000..e77be09 --- /dev/null +++ b/authors/apps/profiles/serializers.py @@ -0,0 +1,36 @@ +from .models import UserProfile +from rest_framework import serializers + + +class ProfileSerializer(serializers.ModelSerializer): + """ + Handles serialization and deserialization + of User Profile objects. + """ + + username = serializers.CharField(source="user.username", read_only=True) + email = serializers.CharField(source="user.email", read_only=True) + created_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S") + updated_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S") + + bio = serializers.CharField( + max_length=250, + min_length=8 + ) + + class Meta: + model = UserProfile + fields = ('first_name', "last_name", "username", + "email", "bio", "image", + "created_at", "updated_at") + + def update(self, instance, validated_data): + """Performs an update on a User Profile.""" + + for (key, value) in validated_data.items(): + + setattr(instance, key, value) + + instance.save() + + return instance diff --git a/authors/apps/profiles/urls.py b/authors/apps/profiles/urls.py index 2a594ca..3d54d15 100644 --- a/authors/apps/profiles/urls.py +++ b/authors/apps/profiles/urls.py @@ -1,11 +1,10 @@ -from django.conf.urls import url +from django.urls import path from .views import ( - LoginAPIView, RegistrationAPIView, UserRetrieveUpdateAPIView + ProfileRetreiveUpdateAPIView ) urlpatterns = [ - url(r'^user/?$', UserRetrieveUpdateAPIView.as_view()), - url(r'^users/?$', RegistrationAPIView.as_view()), - url(r'^users/login/?$', LoginAPIView.as_view()), + path("profiles/", + ProfileRetreiveUpdateAPIView.as_view()), ] diff --git a/authors/apps/profiles/utils.py b/authors/apps/profiles/utils.py new file mode 100644 index 0000000..007c706 --- /dev/null +++ b/authors/apps/profiles/utils.py @@ -0,0 +1,56 @@ +import datetime +import cloudinary.uploader +from django.http import JsonResponse +from rest_framework.exceptions import ParseError + +from ..authentication.messages import errors + + +def ImageUploader(image): + """ + Upload image to cloudinary + :param image: FILE from post request + :return: uploaded image data if image was uploaded successfully else None + """ + + if not str(image.name).endswith(('.png', '.jpg', '.jpeg')): + raise ParseError(errors["bad_image"]) + + try: + image_data = cloudinary.uploader.upload( + image, + public_id=str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + .replace("-", "") + .replace(":", "") + .replace(" ", "")), + crop='limit', + width=2000, + height=2000, + eager=[ + {'width': 200, 'height': 200, + 'crop': 'thumb', 'gravity': 'face', + 'radius': 20, 'effect': 'sepia'}, + {'width': 100, 'height': 150, + 'crop': 'fit', 'format': 'png'} + ] + ) + return image_data + + except Exception as e: + raise ParseError({"error": e.__dict__}) + + +def validate_image_upload(request): + """ + Check if image is provided and uploaded + + :param request: put request + :return: uploaded image data if successful else error raised + """ + + if request.FILES.get("image", False): + + image = ImageUploader(request.FILES["image"]) + + request.data["image"] = image.get( + "secure_url", request.FILES["image"]) diff --git a/authors/apps/profiles/views.py b/authors/apps/profiles/views.py index 9e78cb2..47f8827 100644 --- a/authors/apps/profiles/views.py +++ b/authors/apps/profiles/views.py @@ -1,29 +1,79 @@ +import json +from django.http.response import Http404 from rest_framework import status from rest_framework.generics import RetrieveUpdateAPIView -from rest_framework.permissions import IsAuthenticated +from rest_framework.exceptions import (ParseError, NotFound) from rest_framework.response import Response from rest_framework.views import APIView -from .renderers import UserJSONRenderer -from .serializers import ( - LoginSerializer, RegistrationSerializer, UserSerializer -) +from .models import UserProfile +from .permissions import IsGetOrIsAuthenticated +from ..authentication.messages import errors +from .renderers import ProfileJSONRenderer +from .serializers import ProfileSerializer +from .utils import validate_image_upload -class ProfileAPIView(APIView): - # Allow any user (authenticated or not) to hit this endpoint. - permission_classes = (AllowAny,) - renderer_classes = (UserJSONRenderer,) - serializer_class = RegistrationSerializer +class ProfileRetreiveUpdateAPIView(RetrieveUpdateAPIView): + """ + get: + Get user profile. - def post(self, request): - user = request.data.get('user', {}) + put: + Update user profile. + """ + + permission_classes = (IsGetOrIsAuthenticated,) + renderer_classes = (ProfileJSONRenderer,) + serializer_class = ProfileSerializer + + def retrieve(self, request, username): + """ + get: + Get user profile. + """ + + try: + user = UserProfile.objects.select_related('user').get( + user__username=username) + + except UserProfile.DoesNotExist: + + raise NotFound(errors["profile_missing"]) + + serializer = self.serializer_class(user) + + return Response(serializer.data, status=status.HTTP_200_OK) + + def update(self, request, username): + """ + put: + Update user profile. + + :param username: username associated with + user account + :return: updated user profile details if successful + """ + + serializer_data, image = request.data, '' + + try: + user = UserProfile.objects.select_related('user').get( + user__username=username) + + except UserProfile.DoesNotExist: + + raise NotFound(errors["profile_missing"]) + + self.check_object_permissions(request, user) + + validate_image_upload(request) + + serializer = self.serializer_class( + user, data=serializer_data, partial=True) - # The create serializer, validate serializer, save serializer pattern - # below is common and you will see it a lot throughout this course and - # your own work later on. Get familiar with it. - serializer = self.serializer_class(data=user) serializer.is_valid(raise_exception=True) + serializer.save() - return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.data, status=status.HTTP_200_OK) diff --git a/authors/settings.py b/authors/settings.py index 129e583..0ce7802 100644 --- a/authors/settings.py +++ b/authors/settings.py @@ -1,18 +1,17 @@ """ Django settings for authors project. - Generated by 'django-admin startproject' using Django 1.11.14. - For more information on this file, see https://docs.djangoproject.com/en/1.11/topics/settings/ - For the full list of settings and their values, see https://docs.djangoproject.com/en/1.11/ref/settings/ """ import os -import environ +import cloudinary import datetime +import environ + # Build paths inside the project like this: os.path.join(BASE_DIR, ...) @@ -151,6 +150,10 @@ 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', + + ), + 'DEFAULT_PERMISSION_CLASSES': ( + 'authors.apps.profiles.permissions.IsGetOrIsAuthenticated', ), } @@ -213,3 +216,22 @@ EMAIL_HOST_PASSWORD = os.getenv('EMAIL_HOST_PASSWORD') EMAIL_PORT = 587 EMAIL_USE_TLS = True + +# Cloudinary settings for Django. Add to your settings file. + +CLOUDINARY_NAME = env.str('CLOUDINARY_CLOUD_NAME') +CLOUDINARY_API_KEY = env.str('CLOUDINARY_API_KEY') +CLOUDINARY_API_SECRET = env.str('CLOUDINARY_API_SECRET') + +CLOUDINARY = { + 'cloud_name': CLOUDINARY_NAME, + 'api_key': CLOUDINARY_API_KEY, + 'api_secret': CLOUDINARY_API_SECRET, +} + +# Cloudinary settings. Run before pycloudinary is used. +cloudinary.config( + cloud_name=CLOUDINARY_NAME, + api_key=CLOUDINARY_API_KEY, + api_secret=CLOUDINARY_API_SECRET, +) diff --git a/authors/tests/data/base_test.py b/authors/tests/data/base_test.py index 5036113..03074c9 100644 --- a/authors/tests/data/base_test.py +++ b/authors/tests/data/base_test.py @@ -1,5 +1,7 @@ +import os from django.test import TestCase from rest_framework.test import APIClient +from PIL import Image from .data import Data @@ -100,8 +102,56 @@ def update_user_details(self, data='', token=None): format="json" ) - def login_user_and_get_token(self): - res = self.login_user() + def login_user_and_get_token(self, data=""): + res = self.login_user(data) if data else self.login_user() token = res.data['token'] return token + + def fetch_user_profile(self, username): + """ + This method 'fetch_user_profile' + fetches accepts a username and + fetches a profile with the username + """ + + return self.client.get( + "/api/profiles/{}".format(username), + format="json" + ) + + def generate_image(self): + """ + This method 'generate_image' + generates and returns an image + """ + + module_dir = os.path.dirname(__file__) + file_path = os.path.join(module_dir, 'test_files/test.png') + tempfile = Image.open(file_path) + image = Image.new('RGB', (100, 100)) + image = image.save('test.png') + + return image + + def update_user_profile(self, username, data='', token='', image=None): + """ + This method 'update_user_profile' + updates user profile with the + details provided. + """ + + data, content_type = data or self.base_data.profile_data, 'json' + + if image is not None: + + content_type = "multipart" + + data.update({"image": image}) + + return self.client.put( + "/api/profiles/{}".format(username), + data, + format=content_type, + HTTP_AUTHORIZATION='Bearer ' + token + ) diff --git a/authors/tests/data/data.py b/authors/tests/data/data.py index 643b2cc..0c80b4c 100644 --- a/authors/tests/data/data.py +++ b/authors/tests/data/data.py @@ -13,7 +13,7 @@ def __init__(self): "password": "Admin12345" } } - + self.user_data2 = { "user": { "email": "testuser2@email.com", @@ -22,8 +22,6 @@ def __init__(self): } } - - self.missing_user_data = { "user": { "username": "Alpha", @@ -48,3 +46,15 @@ def __init__(self): self.user_data["user"]["email"], self.user_data["user"]["password"] ) + + self.profile_data = { + "bio": "I love swimming", + "first_name": "Madison", + "last_name": "Jade" + } + + self.article_data = { + 'title': 'First test data', + 'description': 'This is the first test data', + 'body': 'This is the first body' + } diff --git a/authors/tests/data/test_files/test.png b/authors/tests/data/test_files/test.png new file mode 100644 index 0000000000000000000000000000000000000000..6653718abcdc968472bd032b29e8ba667f5d7416 GIT binary patch literal 89087 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

~8fbWmmB&|x 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 literal 0 HcmV?d00001