def test_12generate_all_sizes(self): """Test Avatar.generate_all_sizes() Requires users fixture""" self.set_test_avatar_paths_settings() from website.cardstories.avatar import Avatar from django.contrib.auth.models import User from PIL import Image player_id = 1 user = User.objects.get(id=player_id) avatar = Avatar(user) avatar.generate_all_sizes(os.path.join(settings.MEDIA_ROOT, settings.AVATARS_DEFAULT_SUBPATH, '%d.jpg' % player_id)) self.assertTrue(os.path.isfile('/tmp/cardstories-test/avatars/cache/000/000/%d_small.jpg' % player_id)) self.assertTrue(os.path.isfile('/tmp/cardstories-test/avatars/cache/000/000/%d_normal.jpg' % player_id)) self.assertTrue(os.path.isfile('/tmp/cardstories-test/avatars/cache/000/000/%d_large.jpg' % player_id)) self.assertEqual(Image.open('/tmp/cardstories-test/avatars/cache/000/000/%d_small.jpg' % player_id).size, (avatar.sizes['small'], avatar.sizes['small'])) self.assertEqual(Image.open('/tmp/cardstories-test/avatars/cache/000/000/%d_normal.jpg' % player_id).size, (avatar.sizes['normal'], avatar.sizes['normal'])) self.assertEqual(Image.open('/tmp/cardstories-test/avatars/cache/000/000/%d_large.jpg' % player_id).size, (avatar.sizes['large'], avatar.sizes['large'])) self.unset_test_avatar_paths_settings()
def test_12generate_all_sizes(self): """Test Avatar.generate_all_sizes() Requires users fixture""" self.set_test_avatar_paths_settings() from website.cardstories.avatar import Avatar from django.contrib.auth.models import User from PIL import Image player_id = 1 user = User.objects.get(id=player_id) avatar = Avatar(user) avatar.generate_all_sizes( os.path.join(settings.MEDIA_ROOT, settings.AVATARS_DEFAULT_SUBPATH, '%d.jpg' % player_id)) self.assertTrue( os.path.isfile( '/tmp/cardstories-test/avatars/cache/000/000/%d_small.jpg' % player_id)) self.assertTrue( os.path.isfile( '/tmp/cardstories-test/avatars/cache/000/000/%d_normal.jpg' % player_id)) self.assertTrue( os.path.isfile( '/tmp/cardstories-test/avatars/cache/000/000/%d_large.jpg' % player_id)) self.assertEqual( Image.open( '/tmp/cardstories-test/avatars/cache/000/000/%d_small.jpg' % player_id).size, (avatar.sizes['small'], avatar.sizes['small'])) self.assertEqual( Image.open( '/tmp/cardstories-test/avatars/cache/000/000/%d_normal.jpg' % player_id).size, (avatar.sizes['normal'], avatar.sizes['normal'])) self.assertEqual( Image.open( '/tmp/cardstories-test/avatars/cache/000/000/%d_large.jpg' % player_id).size, (avatar.sizes['large'], avatar.sizes['large'])) self.unset_test_avatar_paths_settings()
def test_13avatar_update_from_response(self): """Test Avatar.update_from_response() Requires users fixture""" self.set_test_avatar_paths_settings() from website.cardstories.avatar import Avatar from django.contrib.auth.models import User player_id = 1 user = User.objects.get(id=player_id) avatar = Avatar(user) avatar.generate_all_sizes = Mock() avatar.set_to_default = Mock() orig_image_path = avatar.get_path(size='orig') # 404 response = Mock() response.status_code = 404 avatar.update_from_response(response) avatar.set_to_default.assert_called_once_with() self.assertFalse(avatar.generate_all_sizes.called) avatar.set_to_default.reset_mock() # Not an image response.status_code = 200 response.headers = {'Content-Type': 'text/html'} avatar.update_from_response(response) avatar.set_to_default.assert_called_once_with() self.assertFalse(avatar.generate_all_sizes.called) avatar.set_to_default.reset_mock() # Got an image response.status_code = 200 response.headers = {'Content-Type': 'image/png'} response.content = "image content" avatar.update_from_response(response) avatar.generate_all_sizes.assert_called_once_with(orig_image_path) self.assertFalse(avatar.set_to_default.called) self.assertTrue(os.path.isfile(orig_image_path)) self.assertEqual(open(orig_image_path).read(), "image content") self.unset_test_avatar_paths_settings()
def test_13avatar_update_from_response(self): """Test Avatar.update_from_response() Requires users fixture""" self.set_test_avatar_paths_settings() from website.cardstories.avatar import Avatar from django.contrib.auth.models import User player_id = 1 user = User.objects.get(id=player_id) avatar = Avatar(user) avatar.generate_all_sizes = Mock() avatar.set_to_default = Mock() orig_image_path = avatar.get_path(size='orig') # 404 response = Mock() response.status_code = 404 avatar.update_from_response(response) avatar.set_to_default.assert_called_once_with() self.assertFalse(avatar.generate_all_sizes.called) avatar.set_to_default.reset_mock() # Not an image response.status_code = 200 response.headers = {'Content-Type': 'text/html'} avatar.update_from_response(response) avatar.set_to_default.assert_called_once_with() self.assertFalse(avatar.generate_all_sizes.called) avatar.set_to_default.reset_mock() # Got an image response.status_code = 200 response.headers = {'Content-Type': 'image/png'} response.content = "image content" avatar.update_from_response(response) avatar.generate_all_sizes.assert_called_once_with(orig_image_path) self.assertFalse(avatar.set_to_default.called) self.assertTrue(os.path.isfile(orig_image_path)) self.assertEqual(open(orig_image_path).read(), "image content") self.unset_test_avatar_paths_settings()
def test_11avatar_set_to_default(self): """Test Avatar.set_to_default() Requires users fixture""" self.set_test_avatar_paths_settings() from website.cardstories.avatar import Avatar from django.contrib.auth.models import User player_id = 1 user = User.objects.get(id=player_id) avatar = Avatar(user) avatar.generate_all_sizes = Mock() avatar.set_to_default() avatar.generate_all_sizes.assert_called_once_with(os.path.join(settings.MEDIA_ROOT, settings.AVATARS_DEFAULT_SUBPATH, '%d.jpg' % player_id)) self.assertTrue(os.path.isfile('/tmp/cardstories-test/avatars/cache/000/000/%d_orig.jpg' % player_id)) self.unset_test_avatar_paths_settings()
def test_11avatar_set_to_default(self): """Test Avatar.set_to_default() Requires users fixture""" self.set_test_avatar_paths_settings() from website.cardstories.avatar import Avatar from django.contrib.auth.models import User player_id = 1 user = User.objects.get(id=player_id) avatar = Avatar(user) avatar.generate_all_sizes = Mock() avatar.set_to_default() avatar.generate_all_sizes.assert_called_once_with( os.path.join(settings.MEDIA_ROOT, settings.AVATARS_DEFAULT_SUBPATH, '%d.jpg' % player_id)) self.assertTrue( os.path.isfile( '/tmp/cardstories-test/avatars/cache/000/000/%d_orig.jpg' % player_id)) self.unset_test_avatar_paths_settings()