1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- from django.conf import settings
- from django.contrib.auth import get_user_model
- from django.test import TestCase
- from django.urls import reverse
- from ..views.avatarserver import clean_size
- class AvatarServerTests(TestCase):
- def test_user_avatar_serving(self):
- """avatar server handles user avatar requests"""
- User = get_user_model()
- test_user = User.objects.create_user('Bob', 'bob@bob.com', 'pass123',
- set_default_avatar=True)
- avatar_url = reverse('misago:user-avatar', kwargs={
- 'pk': test_user.pk,
- 'hash': test_user.avatar_hash,
- 'size': 150,
- })
- response = self.client.get(avatar_url)
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response['Content-Type'], 'image/png')
- def test_deleted_user_avatar_serving(self):
- """avatar server handles deleted user avatar requests"""
- avatar_url = reverse('misago:user-avatar', kwargs={
- 'pk': 12345,
- 'hash': '12356af',
- 'size': 150,
- })
- response = self.client.get(avatar_url)
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response['Content-Type'], 'image/png')
- def test_blank_avatar_serving(self):
- """avatar server handles blank avatar requests"""
- response = self.client.get(reverse('misago:blank-avatar', kwargs={
- 'size': 150,
- }))
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response['Content-Type'], 'image/png')
- class CleanSizeTests(TestCase):
- def test_size_too_big(self):
- """clean_size returns max for too big size"""
- max_size = max(settings.MISAGO_AVATARS_SIZES)
- too_big = max_size * 2
- self.assertEqual(clean_size(too_big), max_size)
- def test_size_too_small(self):
- """clean_size returns min for too small size"""
- min_size = min(settings.MISAGO_AVATARS_SIZES)
- too_small = min_size / 2
- self.assertEqual(clean_size(too_small), min_size)
- def test_mid_sizes(self):
- """clean_size returns approximates for little invalid sizes"""
- for size in settings.MISAGO_AVATARS_SIZES:
- self.assertEqual(clean_size(size - 1), size)
- def test_valid_sizes(self):
- """clean_size returns valid sizes untouched"""
- for size in settings.MISAGO_AVATARS_SIZES:
- self.assertEqual(clean_size(size), size)
|