Browse Source

#218: Tests harness for avatar server

Rafał Pitoń 11 years ago
parent
commit
aabbc47399
3 changed files with 34 additions and 4 deletions
  1. 29 1
      misago/users/tests/test_avatarserver_views.py
  2. 1 1
      misago/users/views/avatarserver.py
  3. 4 2
      runtests.py

+ 29 - 1
misago/users/tests/test_avatarserver_views.py

@@ -5,4 +5,32 @@ from django.test import TestCase
 
 
 class AvatarServerTests(TestCase):
-    pass
+    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')

+ 1 - 1
misago/users/views/avatarserver.py

@@ -14,7 +14,7 @@ def serve_user_avatar(request, user_id, size):
         try:
             user = User.objects.get(id=user_id)
             if not user.is_avatar_banned:
-                avatar_file = get_avatar_file(user, size)
+                avatar_file = get_user_avatar_file(user, size)
             else:
                 avatar_file = get_blank_avatar_file(size)
         except User.DoesNotExist:

+ 4 - 2
runtests.py

@@ -14,11 +14,14 @@ def runtests():
     test_runner_path = os.path.dirname(__file__)
     project_template_path = os.path.join(
         test_runner_path, 'misago/project_template/project_name')
+    avatars_cache_path = os.path.join(
+        test_runner_path, 'misago/project_template/avatar_cache')
 
     test_project_path = os.path.join(test_runner_path, "testproject")
+    test_project_avatars_path = os.path.join(test_runner_path, "avatar_cache")
     if not os.path.exists(test_project_path):
         shutil.copytree(project_template_path, test_project_path)
-        path(os.path.join(os.path.dirname(__file__), 'avatar_cache')).mkdir()
+        shutil.copytree(avatars_cache_path, test_project_avatars_path)
 
         settings_path = os.path.join(test_project_path, "settings.py")
         with open(settings_path, "r") as py_file:
@@ -37,7 +40,6 @@ CACHES = {
         'LOCATION': 'uniqu3-sn0wf14k3'
     }
 }
-MISAGO_AVATARS_SIZES = (2, 1)
 """
 
         if os.environ.get('TRAVIS'):