From 24a2d772a60cf108fcaebe3f97fa33b16cd63180 Mon Sep 17 00:00:00 2001 From: Matthew Tretter Date: Sat, 18 Feb 2012 01:56:17 -0500 Subject: [PATCH] Organized tests --- tests/core/models.py | 34 ++++++++++++++++++++ tests/core/tests.py | 70 ++--------------------------------------- tests/core/testutils.py | 38 ++++++++++++++++++++++ 3 files changed, 75 insertions(+), 67 deletions(-) create mode 100644 tests/core/testutils.py diff --git a/tests/core/models.py b/tests/core/models.py index e69de29..35ffffb 100644 --- a/tests/core/models.py +++ b/tests/core/models.py @@ -0,0 +1,34 @@ +from django.db import models + +from imagekit.models.fields import ImageSpecField +from imagekit.processors import Adjust +from imagekit.processors import ResizeToFill +from imagekit.processors import SmartCrop + + +class Photo(models.Model): + original_image = models.ImageField(upload_to='photos') + + thumbnail = ImageSpecField([Adjust(contrast=1.2, sharpness=1.1), + ResizeToFill(50, 50)], image_field='original_image', format='JPEG', + options={'quality': 90}) + + smartcropped_thumbnail = ImageSpecField([Adjust(contrast=1.2, + sharpness=1.1), SmartCrop(50, 50)], image_field='original_image', + format='JPEG', options={'quality': 90}) + + +class AbstractImageModel(models.Model): + original_image = models.ImageField(upload_to='photos') + abstract_class_spec = ImageSpecField() + + class Meta: + abstract = True + + +class ConcreteImageModel1(AbstractImageModel): + first_spec = ImageSpecField() + + +class ConcreteImageModel2(AbstractImageModel): + second_spec = ImageSpecField() diff --git a/tests/core/tests.py b/tests/core/tests.py index 396aab5..d3039e4 100644 --- a/tests/core/tests.py +++ b/tests/core/tests.py @@ -3,77 +3,13 @@ from __future__ import with_statement import os import pickle from StringIO import StringIO -import tempfile -from django.core.files.base import ContentFile -from django.db import models from django.test import TestCase from imagekit import utils -from imagekit.lib import Image -from imagekit.models.fields import ImageSpecField -from imagekit.processors import Adjust -from imagekit.processors import ResizeToFill -from imagekit.processors import SmartCrop - - -def generate_lenna(): - """ - See also: - - http://en.wikipedia.org/wiki/Lenna - http://sipi.usc.edu/database/database.php?volume=misc&image=12 - - """ - tmp = tempfile.TemporaryFile() - lennapath = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'assets', 'lenna-800x600-white-border.jpg') - with open(lennapath, "r+b") as lennafile: - Image.open(lennafile).save(tmp, 'JPEG') - tmp.seek(0) - return tmp - - -def create_instance(model_class, image_name): - instance = model_class() - img = generate_lenna() - file = ContentFile(img.read()) - instance.original_image = file - instance.original_image.save(image_name, file) - instance.save() - img.close() - return instance - - -def create_photo(name): - return create_instance(Photo, name) - - -class Photo(models.Model): - original_image = models.ImageField(upload_to='photos') - - thumbnail = ImageSpecField([Adjust(contrast=1.2, sharpness=1.1), - ResizeToFill(50, 50)], image_field='original_image', format='JPEG', - options={'quality': 90}) - - smartcropped_thumbnail = ImageSpecField([Adjust(contrast=1.2, - sharpness=1.1), SmartCrop(50, 50)], image_field='original_image', - format='JPEG', options={'quality': 90}) - - -class AbstractImageModel(models.Model): - original_image = models.ImageField(upload_to='photos') - abstract_class_spec = ImageSpecField() - - class Meta: - abstract = True - - -class ConcreteImageModel1(AbstractImageModel): - first_spec = ImageSpecField() - - -class ConcreteImageModel2(AbstractImageModel): - second_spec = ImageSpecField() +from .models import (Photo, AbstractImageModel, ConcreteImageModel1, + ConcreteImageModel2) +from .testutils import generate_lenna, create_photo class IKTest(TestCase): diff --git a/tests/core/testutils.py b/tests/core/testutils.py new file mode 100644 index 0000000..27e0f52 --- /dev/null +++ b/tests/core/testutils.py @@ -0,0 +1,38 @@ +import os +import tempfile + +from django.core.files.base import ContentFile + +from imagekit.lib import Image +from .models import Photo + + +def generate_lenna(): + """ + See also: + + http://en.wikipedia.org/wiki/Lenna + http://sipi.usc.edu/database/database.php?volume=misc&image=12 + + """ + tmp = tempfile.TemporaryFile() + lennapath = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'assets', 'lenna-800x600-white-border.jpg') + with open(lennapath, "r+b") as lennafile: + Image.open(lennafile).save(tmp, 'JPEG') + tmp.seek(0) + return tmp + + +def create_instance(model_class, image_name): + instance = model_class() + img = generate_lenna() + file = ContentFile(img.read()) + instance.original_image = file + instance.original_image.save(image_name, file) + instance.save() + img.close() + return instance + + +def create_photo(name): + return create_instance(Photo, name)