Add test for unsupported image format (tif) and add additional OpenID test

This commit is contained in:
Oliver Falk
2018-05-23 10:37:54 +02:00
parent 088be58723
commit a88d5359d0
2 changed files with 16 additions and 11 deletions

View File

@@ -460,33 +460,33 @@ class ConfirmOpenIDView(View):
model_confirmed = ConfirmedOpenId model_confirmed = ConfirmedOpenId
def do_request(self, data, *args, **kwargs): def do_request(self, data, *args, **kwargs):
session = {'id': request.session.session_key} session = {'id': self.request.session.session_key}
current_url = SITE_URL + request.path current_url = SITE_URL + self.request.path
openid_consumer = consumer.Consumer(session, DjangoOpenIDStore()) openid_consumer = consumer.Consumer(session, DjangoOpenIDStore())
info = openid_consumer.complete(data, current_url) info = openid_consumer.complete(data, current_url)
if info.status == consumer.FAILURE: if info.status == consumer.FAILURE:
messages.error( messages.error(
request, self.request,
_('Confirmation failed: "') + str(info.message) + '"') _('Confirmation failed: "') + str(info.message) + '"')
return HttpResponseRedirect(reverse_lazy('profile')) return HttpResponseRedirect(reverse_lazy('profile'))
elif info.status == consumer.CANCEL: elif info.status == consumer.CANCEL:
messages.error(request, _('Cancelled by user')) messages.error(self.request, _('Cancelled by user'))
return HttpResponseRedirect(reverse_lazy('profile')) return HttpResponseRedirect(reverse_lazy('profile'))
elif info.status != consumer.SUCCESS: elif info.status != consumer.SUCCESS:
messages.error(request, _('Unknown verification error')) messages.error(self.request, _('Unknown verification error'))
return HttpResponseRedirect(reverse_lazy('profile')) return HttpResponseRedirect(reverse_lazy('profile'))
try: try:
unconfirmed = self.model.objects.get( unconfirmed = self.model.objects.get(
user=request.user, id=kwargs['openid_id']) user=self.request.user, id=kwargs['openid_id'])
except self.model.DoesNotExist: except self.model.DoesNotExist:
messages.error(request, _('ID does not exist')) messages.error(self.request, _('ID does not exist'))
return HttpResponseRedirect(reverse_lazy('profile')) return HttpResponseRedirect(reverse_lazy('profile'))
# TODO: Check for a reasonable expiration time # TODO: Check for a reasonable expiration time
confirmed = self.model_confirmed() confirmed = self.model_confirmed()
confirmed.user = unconfirmed.user confirmed.user = unconfirmed.user
confirmed.ip_address = get_client_ip(request) confirmed.ip_address = get_client_ip(self.request)
confirmed.openid = unconfirmed.openid confirmed.openid = unconfirmed.openid
confirmed.save() confirmed.save()
@@ -494,13 +494,13 @@ class ConfirmOpenIDView(View):
# If there is a single image in this user's profile # If there is a single image in this user's profile
# assign it to the new id # assign it to the new id
if request.user.photo_set.count() == 1: if self.request.user.photo_set.count() == 1:
confirmed.set_photo(request.user.photo_set.first()) confirmed.set_photo(self.request.user.photo_set.first())
# Also allow user to login using this OPenID (if not already taken) # Also allow user to login using this OPenID (if not already taken)
if not UserOpenID.objects.filter(claimed_id=confirmed.openid).exists(): if not UserOpenID.objects.filter(claimed_id=confirmed.openid).exists():
user_openid = UserOpenID() user_openid = UserOpenID()
user_openid.user = request.user user_openid.user = self.request.user
user_openid.claimed_id = confirmed.openid user_openid.claimed_id = confirmed.openid
user_openid.display_id = confirmed.openid user_openid.display_id = confirmed.openid
user_openid.save() user_openid.save()

View File

@@ -3,6 +3,11 @@ Django settings for ivatar project.
""" """
import os import os
import logging
log_level = logging.DEBUG
logger = logging.getLogger('ivatar')
logger.setLevel(log_level)
PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__)) PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__))
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))