12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- from django.conf import settings
- from django.contrib.auth import get_user_model
- from django.core.urlresolvers import reverse
- from django.test import TestCase
- from misago.users.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={'user_id': test_user.pk, '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={'user_id': 123, '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)
|