32
33
from views import upload
34
36
class _TestUploadingBase(TestCase):
36
def _make_new_uploaded_image(name,type="bmp"):
39
def _make_new_uploaded_image(name, type='bmp'):
38
i = PIL.Image.new("RGB",(4,4))
42
return SimpleUploadedFile(name,sio.read(),content_type="image/%s" % type)
41
i = PIL.Image.new('RGB', (4, 4))
45
return SimpleUploadedFile(name, sio.read(), content_type='image/%s' % type)
45
48
# We need some dummy objects
47
self.u = User.objects.create(username="paul")
50
self.u = User.objects.create(username='paul')
49
self.ct = ContentType.objects.create( app_label="test",model="TestModel")
52
self.ct = ContentType.objects.create(
53
app_label='test', model='TestModel')
51
self.t1 = self._make_new_uploaded_image("test.png");
52
self.t2 = self._make_new_uploaded_image("test.png");
53
self.o1 = self._make_new_uploaded_image("othername.png");
55
self.t1 = self._make_new_uploaded_image('test.png')
56
self.t2 = self._make_new_uploaded_image('test.png')
57
self.o1 = self._make_new_uploaded_image('othername.png')
59
63
# MODEL TESTS (need database, are slow) #
60
64
###########################################################################
61
65
class TestImages_TestModelAdding_ExceptCorrectResult(_TestUploadingBase):
63
self.assertFalse( Image.objects.has_image("test"))
64
u = Image.objects.create( user=self.u, content_type=self.ct, object_id=1,
65
name="test", revision=1)
66
self.assertEqual( Image.objects.get( name="test",revision=1), u )
67
self.assertTrue( Image.objects.has_image("test"))
68
self.assertFalse(Image.objects.has_image('test'))
69
u = Image.objects.create(user=self.u, content_type=self.ct, object_id=1,
70
name='test', revision=1)
71
self.assertEqual(Image.objects.get(name='test', revision=1), u)
72
self.assertTrue(Image.objects.has_image('test'))
68
75
class TestImages_TestModelAddingTwiceTheSameNameAndRevision_ExceptRaises(_TestUploadingBase):
70
u = Image.objects.create( user=self.u, content_type=self.ct, object_id=1,
71
name="test", revision=1)
72
self.assertRaises( Image.AlreadyExisting, Image.objects.create, **{"user":self.u, "content_type": self.ct, "object_id":1,
73
"name": "test", "revision" :1 })
78
u = Image.objects.create(user=self.u, content_type=self.ct, object_id=1,
79
name='test', revision=1)
80
self.assertRaises(Image.AlreadyExisting, Image.objects.create, **{'user': self.u, 'content_type': self.ct, 'object_id': 1,
81
'name': 'test', 'revision': 1})
74
84
class TestImages_TestModelAddingTwiceTheSameNameDifferentRevision_ExceptRaises(_TestUploadingBase):
76
u = Image.objects.create( user=self.u, content_type=self.ct, object_id=1,
77
name="test", revision=1)
78
u = Image.objects.create( user=self.u, content_type=self.ct, object_id=1,
79
name="test", revision=2)
80
self.assertEqual(Image.objects.filter(name="test").count(),2)
87
u = Image.objects.create(user=self.u, content_type=self.ct, object_id=1,
88
name='test', revision=1)
89
u = Image.objects.create(user=self.u, content_type=self.ct, object_id=1,
90
name='test', revision=2)
91
self.assertEqual(Image.objects.filter(name='test').count(), 2)